算法
文章平均质量分 66
StubbornAnt
这个作者很懒,什么都没留下…
展开
-
字符串匹配算法
算法的改进主要是针对如果出现不匹配字符,应该怎样回退的问题定义在母字符串中找子字符串,如果找到返回字串在母字符串中的位置,如果没有找到,返回-1。 参见 leetcode 28. Implement strStr()朴素的匹配算法逐个跟字串匹配。失败则子串向前移动一位,继续比较顺序匹配字串与母串的每一个字符 - 如果达到子字符串末尾,就返回母串中子串首字符对应位置 - 如果遇到原创 2016-05-12 16:46:53 · 1407 阅读 · 0 评论 -
最长公共子序列
问题描述子序列 X=(ABCBDAB) X的子序列是下标递增的X的字符组成的序列,但是不一定连续,如:ABCD,ACDAB等都是其子序列,而 ADC不是子序列最长公共子序列 如果Z既是X的子序列,又是Y的子序列,那么Z是X与Y的公共子序列,其中最长Z就是最长公共子序列序列相似度 该问题用来描述两个序列的相似度,当然相似度还有其他描述方法 X是Y的子串X转换为Y的操作最少X与Y原创 2016-05-19 12:15:13 · 523 阅读 · 0 评论 -
Java实现红黑树
红黑树概要二叉查找树实现了基本操作时间复杂度O(h),但是树的高度h在最坏的情况下可能变为n红黑树是一种平衡二叉树,可以保证树的高度 h = lg(N)红黑树的性质红黑树为每个节点添加了颜色存储位,确保了任何一个从根到叶子的路径长度不会比其他路径长出2倍每个节点是红色或者黑色根节点是黑色的叶子节点是黑色的红色节点的子节点都是黑色的当前节点到其后代叶子节点的所有简单路径路的黑色节点数目原创 2016-06-08 16:57:11 · 511 阅读 · 0 评论 -
Java实现二叉查找树
二叉查找树基本性质:对任何节点x,其左子树的任意key不大于x.key,其右子树的任意节点不小于x.key实现集合操作 search,minimum,maximum,predecessor,successor,insert,delete以上操作的最坏运行时间与树的高度成正比,平均时间复杂度O(h),其中h为树的高度树的中序遍历是有序序列可以用其实现有序字典,优先队列,实现时间复杂度O原创 2016-06-06 17:23:09 · 703 阅读 · 0 评论