
algorithm
弯弯的丝瓜
小菜鸟一名
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
推倒一下时间复杂度
推倒一下对数级时间复杂度 for(i = 1;i < n){ i = i *2; } 推导:等比数列 a[n] = a[n-1]*2 公比q = 2; 计算次数原创 2018-09-09 18:58:14 · 266 阅读 · 0 评论 -
大白话排序和查找
排序 默认采用降序排列 1.冒泡排序 每次把最小的元素像泡泡一样,放到数组末尾。 基本原理:外层循环次数有字符串长度-1决定。内层循环,后一个如果比自己小,就交换位置,第一轮就把最小的放到了最后一个元素位置上。那么下一次循环只需要把第二小的放到倒数第二个位置上,所以内层循环次数随外层循环变量一样变化。 优化原理:在内层设置一个检测是否发生数据交换的标致变量,如果某一次循环没有元素交换发生...2018-10-31 11:25:59 · 204 阅读 · 0 评论 -
白话KMP
1.明确概念 最长前缀和最长后缀:例如abab ab`==ab ``(`前缀,``后缀)这个长度就是2。 next[]:存放T以长度j切割的对应字符串的最长相等前后缀的长度。 2.明确变量 P:表示被查询字符串:“bacbababadababacambabacaddababacasdsd” T:查询字符串:“ababaca” next[]:ababaca,长度是7,所以next...原创 2018-10-31 17:09:32 · 146 阅读 · 0 评论