2.7 寻找第K最小数
2.7.1 算法思路
整体思路:结合2.6节的快速排序
- 如果基准位就是第k位,就直接返回
- 如果基准位在k的左端,就从基准位到尾部找
- 如果基准位在k的右端,就从首部到基准位找
2.7.2 代码实现
1 | public static int getKthSmallByDivideConquer(int[] originalData, int k) { |
2.7.3 时间复杂度
时间复杂度:O(nlog2n)
分析:因为其原理实质为快速排序,所以时间复杂度和快速排序一样。
整体思路:结合2.6节的快速排序
1 | public static int getKthSmallByDivideConquer(int[] originalData, int k) { |
时间复杂度:O(nlog2n)
分析:因为其原理实质为快速排序,所以时间复杂度和快速排序一样。