![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 63
算法学习
牧雷。
这个作者很懒,什么都没留下…
展开
-
整数二分算法
一:代码模板1:如果更新的方式是:l = mid 或 r = mid - 1 即为左边界,则用下面那一个模板(l = mid 我们就要补上+1)2:如果更新的方式是:l = mid + 1 或 r = mid 即为右边界,则用上面那一个模板(r = mid 我们就不需要补上+1)bool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:int bsearch_1(int l, in原创 2022-01-18 17:41:36 · 384 阅读 · 0 评论 -
快速排序算法(有代码模板)
一:代码模板void quick_sort(int p[], int l, int r){ if(l >= r) return; //如果数组的长度是0或者1,则返回 int x = p[l + r >> 1]; //随便取一个位置的数用来分区 int i = l - 1, j = r + 1; //让他们减1和加1是因为下面的循环用的是do while while(i < j) { do i原创 2022-01-13 17:54:17 · 549 阅读 · 0 评论 -
数据结构串之——KMP算法
预说明: 下面给定的主串 S 为abcababca,副串 T 设为 abcabx一:串的模式匹配 即给定两个字符串S和T,一个设定为主串,一个设定为副串,我们要做的是在这个主串S中找到子串T的位置。二:朴素的模式匹配算法 这是最简单的,也是我们最容易想到的,即遍历主串的每一个字符,在哪个字符就在哪个字符停下来,从主串这个位置开始向后的字符串与副串相对比,如果途中遇到了一个不同的字符,则将主串的字符向后遍历一位并继续进行对比操作,如果主串中的某一段字符与副串的字符全依次相等,则子串在主串原创 2021-04-10 10:43:47 · 250 阅读 · 0 评论