算法重刷
BIGBIGPPT
这个作者很懒,什么都没留下…
展开
-
[算法重刷](ACwing算法基础课)归并排序
归并排序的思想: 与快排的思想很相似归并排序也是采用分治的方法,不过归并与快排的顺序是相反的,归并排序需要先划分区间,以mid = l + r >> 1, 为中间点划分出两个区间对两个区间进行排序,然后再将这两个有序的区间合并成一个有序的区间。也就是说快排是从大区间一路操作到小区间,而归并是从小区间一路操作到大区间。 归并的代码实现: 归并排序中最重要、最难的一步是如何合并两个有序的区间。那么这一步也是通过两个指针i,j来实现 当我们拥有两个区间[l, mid] , [mid + 1, r]时原创 2022-05-06 20:04:55 · 233 阅读 · 0 评论 -
[算法重刷](ACwing算法基础课)快速排序
快排的思想呢主要是分治的思想,以前写代码的时候就没有怎么写过分治,写一下快排也算是能够稍微加强一下对分治的感受理解。 那么快排的思想就是:这里我们只说明单调增的方法,这样便于讲解。首先确定一个区间[l,r]在区间[l,r]中随机挑选一个值x(通常情况下会选择l,r或者mid作为x,也可以为了保证随机性去写一个随机数),然后对区间中的数进行判断,将 <= x 的数放在 x 的左边,将 >= x 的数放在右边,(这个相等时放哪边无所谓的)这样我们就得到了一个 左边都是 <= x 右边都是 &g原创 2022-05-06 10:10:37 · 210 阅读 · 0 评论