- 博客(3)
- 收藏
- 关注
转载 基础算法学习笔记——二分查找
二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。版本1当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mid时不需要加1。C++ 代码模板:int bsearch_1(int l, int r){while (l < r){int mid = l + r >> 1;if (check(m
2021-09-07 09:36:07 78
原创 基础算法学习笔记——归并排序
快速排序思想:分治算法1、确定分界点(下标中点)2、递归排序3、归并,合二为一#include<bits/stdc++.h>using namespace std;const int N=100010;int q[N],tmp[N];int n;void merge_sort(int q[],int l,int r){ if(l>=r) return; int mid=(l+r) >> 1; merge_sort(q,l,mid),merge_sor
2021-09-03 18:13:08 109
原创 基础算法学习笔记——快速排序
快速排序思想:分治算法1、确定分界点2、调整区间3、递归处理左右两端示意图:例题:785. 快速排序给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5
2021-09-03 11:03:22 238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人