一、排序知识
1. 排序概念
略
二、排序知识扩展
1. 排序基础
知识扩展
略
题目练习
Ⅰ:合并区间
题目描述
输入一个区间的集合,请将重叠的区间合并。每个区间用两个数字比较,分别表示区间的起始位置和结束位置。例如,输入区间 [1,3],[4,5],[8,10],[2,6],[9,12],[15,18],合并重叠的区间之后得到 [1,6],[8,12],[15,18]。
题目分析
难度: 略
思路: 略
参考代码
Tips:-
2. 计数排序
知识扩展
略
题目练习
Ⅰ:数组相对排序
题目描述
输入两个数组 arr1 和 arr2,其中数组 arr2 中的每个数字都唯一,并且都是数组 arr1 中的数字。请将数组 arr1 中的数字按照数组 arr2 中的数字的相对顺序排序。如果数组 arr1 中的数字在数组 arr2 中没有出现,那么将这些数字按递增的顺序排在后面。假设数组中的所有数字都在 0 到 1000 的范围内。例如,输入的数组 arr1 和 arr2 分别是 [2,3,3,7,3,9,2,1,7,2] 和 [3,2,1],则数组 arr1 排序之后为 [3,3,3,2,2,2,1,7,7,9]。
题目分析
难度: 略
思路: 略
参考代码
Tips:-
3. 快速排序
知识扩展
略
题目练习
Ⅰ:数组中第 k 大的数字
题目描述
请从一个乱序数组中找出第 k 大的数字。例如,数组 [3, 1,2,4,5,5,6] 中第 3 大的数字是 5。
题目分析
难度: 略
思路: 略
参考代码
Tips:-
4. 归并排序
知识扩展
略
题目练习
Ⅰ:链表排序
题目描述
输入一个链表的头节点,请将该链表排序。例如,输入图 11.1(a) 中的链表,该链表排序后如图 11.1(b) 所示。
题目分析
难度: 略
思路: 略
参考代码
Tips:-
Ⅱ:合并排序链表
题目描述
输入 k 个排序的链表,请将它们合并成一个排序的链表。 例如,输入 3 个排序的链表,如图 11.2(a) 所示,将它们合并之后得到的排序的链表如图 11.2(b) 所示。
题目分析
难度: 略
思路: 略
参考代码
Tips:-
三、章节小结
略