![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
文章平均质量分 85
紫菜花油菜花
这个作者很懒,什么都没留下…
展开
-
【排序算法】☆☆快速排序+堆排序
数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。❤❤基于快排的快速选择思路快速排序为典型的分治算法,对a[l...r]排序的过程可以分解如下:分解:取任意下标pivot,并将数组划分成两个子数组,a[l...pivot-1](元素均<=a[pivot])和a[pivot+1...r](元素均>a[pivot])。解决:对子数组a[l...pivot-1]和a[pivot+1...r原创 2021-04-07 17:17:34 · 196 阅读 · 0 评论 -
【排序算法】归并排序——算法详解,题型举例,链表,数组
「归并排序」是分治思想的典型应用,它包含这样三个步骤:分解:待排序的区间为[l,r],令m=l+((r-l)>>1),将区间分为[l,m],[m+1,r]解决:使用归并排序递归地排序两个子序列合并:把两个已经排好序的子序列[l,m]和[m+1,r]合并起来在带排序序列长度为1的时候,递归开始【回升】,即默认长度为1时,序列时排好的。☆☆☆剑指 Offer 51. 数组中的逆序对在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这原创 2021-04-04 17:32:27 · 327 阅读 · 0 评论