基础算法
排序
- 快排
分治思想
- 1、确定分界点:左边界,中点,右边界
- 2、调整区间:让第一个区间所有数都小于等于x,第二个区间都大于等于x
- 3、递归处理左右两段
实现
第一步如果区间里只有一个数或者没有数直接返回
-
快选
-
归并排序
- 确定分界点
- 递归排序left,right
- 归并,合二为一
二分
有单调性一定可以二分,可以二分的题目不一定非要有单调性。
二分用来找红右绿左这两个边界点。
找红颜色边界:
mid=(l+r-1)/2
- 先找中间值,如果是true的话,就去找【mid,r】这个区间。更新方式是把【l,r】更新成【mid,r】即l=mid。如果false,更新为【l,mid-1】
找绿色边界:
mid=(l+r)/2 - 先找中间值,true:【l,mid】
- false:【mid+1,r】