随笔分类 - 算法
记录c++算法刷题
摘要:二分 问题 适用于一个序列,有一个check函数,能够使得序列左边都返回false,右边都返回true,然后我们找的就是这个分界点的时候 基本思想 两种情况 一种是求 左半段最后一个元素,也就是说求上界,比如求 小于等于 x 的最后一个元素 这时候 mid = l + r + 1 >> 1; boo
阅读全文
摘要:快速排序 问题 将序列 q 的 l ~ r 区间排序 void quick_sort(int q[], int l, int r) 基本思想 —— 分治 找一个参考值 x 通过双指针算法交换使得 左半边全部是 <= x , 右半边全部是 >= x 移动左指针 i ,找到大于 x 的数 移动右指针 j
阅读全文