数据结构与算法
吃不够的圆儿宝
每一天都过的问心无愧
展开
-
递归分析和分治算法
递归分析递归分析一般利用的方法是主定理,辅助的方法有替换法(也就是数学归纳法),递归树法~ 主定理: 递归树: 注意:主定理的证明也是通过递归树的方法进行的。分治方法算是算法设计中一种很常见的设计方式,一般能够大大提高算法的时间复杂度的~分治的思想很简单,就是将一个问题切分为两个或者多个独立的子问题,子问题的解决方案同,子问题解决之后通过合并算法组合成更大问题的结果,所以分治算法主要有三个步骤原创 2015-08-24 16:02:23 · 698 阅读 · 1 评论 -
快速排序的优化
转自:http://blog.csdn.net/insistgogo/article/details/77850381、快速排序的基本思想:快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。2、快速排序的三个步骤:(1)选择基准:在待排序列中,按照某种方式挑出一个元素,作为 “基转载 2015-08-27 15:50:30 · 385 阅读 · 0 评论 -
字符串匹配
BM、KMP、SUNDAY算法BM 算法和 KMP 算法一样,也是构造一个辅助的模式函数来加速匹配的速度, 但BM算法优于KMP。 SUNDAY 算法描述:字符串查找算法中,最著名的两个是KMP算法 (Knuth-Morris-Pratt)和BM算法(Boyer-Moore)。两个算法在最坏情 况下均具有线性的查找时间。但是在实用上,KMP算法并不比最简单的c库函数 strstr原创 2016-03-05 16:32:39 · 299 阅读 · 0 评论