Nxlogn排序算法篇
归并排序
归并排序就是先把左半边数组排好序,再把右半边数组排好序,然后把两半数组合并,相当于二叉树的后序遍历。
模板如下
1 |
|
912. 排序数组
315. 计算右侧小于当前元素的个数
493. 翻转对
327. 区间和的个数
快速排序
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列,快速排序相当于二叉树的前序遍历
1 |
|
912. 排序数组
75. 颜色分类
思路
经典荷兰国旗问题,基于快排思想的双指针。考察的是「快速排序」的子过程 partition,即:通过一次遍历,把数组分成三个部分。
215. 数组中的第K个最大元素
思路
快速选择算法
剑指 Offer 40. 最小的k个数
堆排序
1 |
|
912. 排序数组
堆
优先队列的底层就是小根堆
1 |
|
通过自定义比较器调整为大根堆
1 |
|
23. 合并K个升序链表
215. 数组中的第K个最大元素
239. 滑动窗口最大值
264. 丑数 II
313. 超级丑数
1801. 积压订单中的订单总数
1046. 最后一块石头的重量
846. 一手顺子
Nxlogn排序算法篇
https://yztldxdz.top/2023/01/17/基础算法—Nxlogn排序算法篇/