随笔分类 - 算法学习
摘要:前一段看了很多的红黑树的文章,终于对红黑树算是有了简单的理解,今天趁着可以清闲的时间抓紧写一下,文章里面的图是我先在纸上画的,然后又用visio画了一遍,我的介绍中可能还会有错误,欢迎纠正和分享经验。 一、下面先简单介绍一下红黑树: 红黑树是一棵自平衡的二叉搜索树,他具备二叉搜索树的所有性质,同时由
阅读全文
摘要:最近一直在看《编程珠玑》第二版这一本书,里面的东西真的很实用,以前也看过不少讲解快排的书,但是在编程珠玑上看到的讲解是我见过最好理解,也是最详细的,从效率和空间以及实现等各个方面都做了详细说明,并比较了几种变形的快排的效率,所以在这把我看到的内容写出来记录,留着以后忘了的时候看。 1.1.插入排序
阅读全文
摘要:自己实现了一个IP trie树接口. 在这里保存一下,方便备份以后使用,同时欢迎纠错和交流,希望有大神能指教更高效的算法. 1.头文件如下(iptrie.h) 2.c文件如下(iptrie.c) 3.main.c如下(测试程序) 4.Makefile (linux下编译)
阅读全文
摘要:题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 1 /* 2 *思路:
阅读全文
摘要:现在po一下C语言版本的,留作以后接口使用. 1 #include 2 #include 3 4 #define HEAP_SIZE 100 5 #define HEAP_FULL_VALUE -100 6 7 #if 0 8 /*小顶堆存储结构*/ 9 typedef struct small_heap 10 { 11 int data...
阅读全文
摘要:1 #include 2 #include 3 4 #define HEAP_SIZE 100 5 #define HEAP_FULL_VALUE -100 6 7 #if 0 8 /*小顶堆存储结构*/ 9 typedef struct small_heap 10 { ...
阅读全文
摘要:1 package com.datastruct; 2 3 import java.util.ArrayList; 4 import java.util.Arrays; 5 6 public class BigHeap { 7 8 9 10 /* 11 *交换堆中的两个元素 12 */ 1...
阅读全文
摘要:题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。代码如下,java依旧:import java.util.ArrayList;import j...
阅读全文
摘要:这套题来自于牛客网剑指offer的第四题,由于本题涉及到了对树的递归操作,而且在边界上自己计算时犯了小错误,这里记录一下: 题目描述如下: 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,
阅读全文
摘要:最近一直在优化项目中字符串匹配的问题,于是就想起了自动机,之前也看过一些文章,一直没有实现,现在项目中要用,然后又看了一些关于AC自动机的文章,这里实现了一个简单的AC自动机的小接口,我是实现自动机状态结构采用了trie树,实现起来简单一些,但在一定程度上造成空间复杂度的增加,欢迎大家纠错和一起交流
阅读全文
摘要:原文出处:http://my.oschina.net/amince/blog/196426 原 荐 AC(Aho—Corasiek) 多模式匹配算法 摘要 如何在一篇文章中,搜索多个关键字,如何快速查找各关键字.本篇文章会介绍一种在一串字符串中匹配多个子串(不限于字符串)的多模式算法.下面会用到 K
阅读全文
摘要:kmp算法的理解与实现 博客分类: algorithms 算法 kmp算法的理解与实现 algorithms 算法 KMP算法曾被我戏称为看毛片算法,当时笑喷......大三那个时候硬着头皮把算法导论的kmp算法啃完,弄懂了kmp算法 的原理,甚至还写出了代码,这几天再次温习的时候,发现忘得比较彻底
阅读全文
posted @ 2015-08-25 18:39
代码的搬运工
摘要:kmp算法是一个效率非常高的字符串匹配算法,这篇文章是我看了一篇介绍kmp的算法的其他人的博客然后自己加上了理解和新的图解和自己实现的代码完成的,原作者的博文位置我找不到了,抱歉... kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O中出现,如果出现则返回出现的位置。常
阅读全文
posted @ 2015-08-25 10:58
代码的搬运工

浙公网安备 33010602011771号