快速排序——分治
1.确定分界点: l,(l+r)/2,r
2.调整区间:左边和右边
3.递归处理左右两段
归并排序
二分
关于二分个人理解是:左右边界即求最大值中的最小值,和最小值中的最大值;
分成两种情况:一直找最左边的,此时R=mid,所以L=mid+1,那么原式mid=l+r>>1就行
acwing那个题,起始位置是左边界即q[mid]>=x时为check
就像这个图,这是寻找右边界,左边的都可能满足,把l缩小,当满足时就逐渐缩小范围,即将l=mid(细品)
快速排序——分治
1.确定分界点: l,(l+r)/2,r
2.调整区间:左边和右边
3.递归处理左右两段
归并排序
二分
关于二分个人理解是:左右边界即求最大值中的最小值,和最小值中的最大值;
分成两种情况:一直找最左边的,此时R=mid,所以L=mid+1,那么原式mid=l+r>>1就行
acwing那个题,起始位置是左边界即q[mid]>=x时为check
就像这个图,这是寻找右边界,左边的都可能满足,把l缩小,当满足时就逐渐缩小范围,即将l=mid(细品)