随笔分类 - algorithm
摘要:kmp算法不是查找最长公共子字符串算法,而是一个判断字符串A是否包含字符串B的更优的查找算法。 kmp算法的核心是next数组的计算(最长相同前缀和后缀的字符串) 比如ABCDABD的next数组是-1,0,0,0,0,1,2 kmp算法查询逻辑和获取next数组的逻辑非常相似,都是while循环里
阅读全文
摘要:给一个字符串,找出字符串里面连续的数字 总结:注意边界条件的判断。
阅读全文
摘要:kmp算法的T子字符串的下标的变化规律
大话数据结构这边书中的KMP算法的讲解跟最终的算法代码还是有很大的差别
java语言只会if判断语句,循环语句,但是这些语句以及可以包罗万象了,可以适用很多情况
字串T每次匹配结束之后,不用重新从字串T的第一个字符匹配。提高了匹配的效率
慢慢寻找前面讲解的规律
阅读全文
摘要:算法难道不能变得简单一些吗?便于理解逻辑?参考文档如下:http://cmsblogs.com/?p=1031书中有个例子{五={星={红={isEnd=0, 旗={isEnd=1}}, isEnd=0}, isEnd=0}, 中={isEnd=0, 国={isEnd=0, 人={isEnd=1},...
阅读全文
摘要:package binarytreesort;public class BinaryTree { private int value; private BinaryTree leftNode; private BinaryTree rightNode; public ...
阅读全文
摘要:平衡二叉树是一种二叉搜索树。其可以保证在log2(n)的时间内找到节点,而普通的二叉搜索树在最坏情况下性能近似与链表,所用时间为log(n)。常用的平衡二叉树有AVL树和红黑树其算法的难点在于插入删除节点后树的旋转平衡二叉树---->O(log2(n))普通二叉搜索树---->O(n)在二叉搜索树的...
阅读全文
摘要:持续更新中。。。快速排序:以第一个元素为根元素,第一趟排序目标是在19前面的元素都比19小,在19后面的都比19大。19 (20 35 22 13 41 27 45 37) 4215 5 10先从最后一个元素开始,将10与根元素19比较,10小,19和10互换位置,顺序如下:10 (20 35 22...
阅读全文

浙公网安备 33010602011771号