8.6考研408内部排序算法比较与应用知识点深度解析

考研408「内部排序算法比较与应用」知识点深度解析

一、排序算法核心指标

1.1 时间复杂度

算法类型 最好情况 平均情况 最坏情况
直接插入排序 O ( n ) O(n) O(n) O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2)
冒泡排序 O ( n ) O(n) O(n) O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2)
简单选择排序 O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2)
快速排序 O ( n log ⁡ n ) O(n\log n) O(nlogn) O ( n log ⁡ n ) O(n\log n) O(nlogn) O ( n 2 ) O(n^2) O(n2)
堆排序 O ( n log ⁡ n ) O(n\log n) O(nlogn) O ( n log ⁡ n ) O(n\log n) O(nlogn) O ( n log ⁡ n ) O(n\log n) O(nlogn)
归并排序 O ( n log ⁡ n ) O(n\log n) O(nlogn) O ( n log ⁡ n ) O(n\log n) O(nlogn) O ( n log ⁡ n ) O(n\log n) O(nlogn)
基数排序 O ( d ( n + r ) ) O(d(n + r)) O(d(n+r)) O ( d ( n + r ) ) O(d(n + r)) O(d(n+r)) O ( d ( n + r ) ) O(d(n + r)) O(d(n+r))

公式说明

  • d d d为关键字位数, r r r为基数(如十进制 r = 10 r=10 r=10)。

1.2 空间复杂度

算法类型 空间复杂度
直接插入排序 O ( 1 ) O(1) O(1)
冒泡排序 O ( 1 ) O(1) O(1)
简单选择排序 O ( 1 ) O(1) O(1)
快速排序 O ( log ⁡ n ) O(\log n) O(logn)
堆排序 O ( 1 ) O(1) O(1)
归并排序 O ( n ) O(n) O(n)
基数排序 O ( n + r ) O(n + r) O(n+r)

公式说明

  • 快速排序递归栈空间深度为 O ( log ⁡ n ) O(\log n) O(logn)

1.3 稳定性

算法类型 稳定性
直接插入排序 稳定
冒泡排序 稳定
简单选择排序 不稳定
快速排序 不稳定
堆排序 不稳定
归并排序 稳定
基数排序 稳定

二、内部排序算法详解

2.1 堆排

你可能感兴趣的:(考研,算法,排序算法)