算法与数据结构
ljp960121
这个作者很懒,什么都没留下…
展开
-
Rabin-karp字符串匹配算法
思想是将字符串转化为整数进行比较,采用取余数的hash函数进行转换,假设目标字符串长度为m,源字符串长度为n,(m<n),预处理阶段需要O(m)的时间,匹配时间是O((n-m+1)m),预计运行时间为O(n+m)。 首先将原串中前m个字符,和目标串的值进行比较,若不形同,则向前移动一位,再次比较,相同时需采用朴素算法讲两个字符串逐位比较。下面是c++实现。 #include<iostr...原创 2018-10-25 14:36:14 · 236 阅读 · 0 评论 -
一个二分法的通用模板
时间复杂度O(logn),避免死循环。 class Solution { public: int search(vector<int>& nums, int target) { int s=0,e=nums.size()-1,mid=0; while(s+1<e) { mid=s+(e-s)/...原创 2018-10-25 20:09:09 · 436 阅读 · 0 评论