算法笔记
文章平均质量分 62
zhoubintiantian
这个作者很懒,什么都没留下…
展开
-
manacher算法小计
马卡车算法,算是看懂了别人的解释,并自己写出了代码,记录下,防止忘了。 for(i=1;i<2*slen+2;i++) { if(i>mx) { P[i] = 1; } else { if(P[2*id -i] <= (P[id]+id-i)) P[原创 2017-08-03 13:35:00 · 197 阅读 · 0 评论 -
KMP算法
该算法解决的问题是:给一个字串,求其在主串中的位置。该问题最简单的解法是:两个遍历,最差的时间复杂度O(M*N)所以改进,用KMP算法,时间复杂度是O(n+m),核心是先得到一个字串的next[]数组,用来存放当与主串匹配,不匹配时,回退的位置。while(i<masterLen && j<subLen){ if(j==0 || *(sMaster+i) == *(sSub+j)原创 2017-08-03 13:57:57 · 210 阅读 · 1 评论 -
数据结构与算法-排序总结
这里讨论常用的内部排序1.直接插入排序:时间复杂度O(n^2)void insertSort(int *a, int size){ int i = 0; for(int i = 1; i < size; i++) { if(a[i] < a[i-1]) { int x = a[i];原创 2017-08-28 17:02:12 · 220 阅读 · 0 评论