随笔分类 -  C++算法

摘要:二分模板一共有两个,分别适用于不同情况。 算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。 版本1: 当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mi 阅读全文 »
posted @ 2022-05-02 23:28 不抽火哪里来的烟 阅读(225) 评论(0) 推荐(0) 编辑
摘要:归并排序一般步骤: 1.确定分界点:mid=(l+r)/2 2.递归排序left、right 3.归并——>合二为一 算法时间复杂度: O(nlogn) 给定你一个长度为 nn 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行 阅读全文 »
posted @ 2022-05-01 23:30 不抽火哪里来的烟 阅读(248) 评论(0) 推荐(0) 编辑
摘要:算法思想: 1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。 算法模板: 1 void quick_sort(int q[], int l, int r) 2 { 3 //递归的终止情 阅读全文 »
posted @ 2022-04-30 11:48 不抽火哪里来的烟 阅读(399) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示