算法
查理不会冲浪!
这个作者很懒,什么都没留下…
展开
-
字符串匹配
下面是字符串匹配问题的一个例子 如果p在文本T中出现,那么称s是有效偏移,否则为无效偏移。下面介绍字符串匹配的算法 朴素算法: 该算法通过一个循环找到所有有效偏移,该循环对n-m-1个可能的s值进行检测,然后一一判断。 时间复杂度为O((n-m+1)m) 伪代码: n = T.length m = P.length for s = 0 to n-m if P[1..m] == T...原创 2019-10-14 16:43:03 · 153 阅读 · 0 评论 -
clrs-分治法
分治法 思想:将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后再合并这些子问题的解来建立原问题的解。 分治法在每层递归中都有三个步骤: 分解:将原问题分为若干个子问题,这些子问题是原问题的规模较小的实例。 解决:这些子问题,递归地求解各个子问题。若子问题的规模足够小,则直接求解。 合并:这些子问题的解成原问题的解。 分治法之快速排序(随机抽样优化算法) 核心代码: ...原创 2019-04-15 23:57:23 · 552 阅读 · 0 评论 -
本周算法题总结:二分
二分: 使用二分必须保证数列是有序递增数列,下边是实现代码 int up_down( int *num, int l, int r, int key ) { int mid; while ( l < r ) { //有些人也会写l<=r,但有个小胖子要我这么写 mid = l+(r-l)/2; //相当于(l+r)/2,还是那个小胖子非...原创 2019-07-28 16:27:57 · 472 阅读 · 2 评论