Algorithm
文章平均质量分 78
LYJXCZ
这个作者很懒,什么都没留下…
展开
-
线段树(区间树)
线段树(区间树)Segment Tree实际上还是称为区间树更好理解一些。树:是一棵树,而且是一棵二叉树。线段:树上的每个节点对应于一个线段(还是叫“区间”更容易理解,区间的起点和终点通常为整数)同一层的节点所代表的区间,相互不会重叠。叶子节点的区间是单位长度,不能再分了。 线段树是一棵二叉树,树中的每一个结点表示了一个区间[a,b]。a,b通常是整数。每一转载 2013-10-07 19:16:28 · 725 阅读 · 0 评论 -
atoi C++ 实现
测试用例库实现MyAtoi用例备注Returng_inputIllegalNULL未定义0True “”00True “ \n34”3434原创 2013-10-09 10:00:16 · 705 阅读 · 0 评论 -
KMP
KMP算法 在介绍KMP算法之前,先介绍一下BF算法。一.BF算法 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结果。 举例说明: S: ababcababa转载 2013-10-15 11:18:15 · 467 阅读 · 0 评论 -
B树、B-树、B+树、B*树
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,转载 2013-10-16 22:14:57 · 474 阅读 · 0 评论 -
Floyd算法
Floyd算法(各对顶点之间的最短距离) Floyd算法(各对顶点之间的最短距离) 在上篇文章中谈论到了如何求算单源最短路径,因此要想求各对顶点之间的距离,只需循环求算n次即可。还有另外一种方法来求算各对顶点之间的最短距离,就是Floyd算法,由于其算法过程比Dijkstra更容易理解,并且代码更简洁,因此当求算各对顶点之间的最短距离转载 2013-10-27 21:33:40 · 781 阅读 · 0 评论 -
Dijkstra算法
Dijkstra算法(单源最短路径) 单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路径。在弄清楚如何求算单源最短路径问题之前,必须弄清楚最短路径的最优子结构性质。一.最短路径的最优子结构性质 该性质描述为:如果P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,k和s是这条路径上的一个中间顶点,那么P(k,s)必定是从k到s的最短路转载 2013-10-27 21:02:30 · 446 阅读 · 0 评论