赞
踩
排序算法的重要性不言而喻,为了加深对这十种算法的理解,固写此文。
首先可用如下表来简单概括这十种算法:
十大经典排序算法 | 平均时间复杂度 | 最好时间复杂度 | 最坏时间复杂度 | 空间复杂度 | 排序方式 | 稳定性 |
---|---|---|---|---|---|---|
冒泡排序 | O \Omicron O (n2 ) | O \Omicron O (n) | O \Omicron O (n 2 ) | O \Omicron O (1) | In-place | 稳定 |
选择排序 | O \Omicron O (n2 ) | O \Omicron O (n 2 ) | O \Omicron O (n 2 ) | O \Omicron O (1) | In-place | 不稳定 |
插入排序 | O \Omicron O (n2 ) | O \Omicron O (n) | O \Omicron O (n 2 ) | O \Omicron O (1) | In-place | 稳定 |
希尔排序 | O \Omicron O (n2 ) | O \Omicron O (n) | O \Omicron O (n 2 ) | O \Omicron O (1) | In-place | 不稳定 |
归并排序 | O \Omicron O (nlog \loglo g 2 n) | O \Omicron O (n log \log lo g 2 n) | O \Omicron O (n log \log lo g 2 n) | O \Omicron O (n) | Out-place | 稳定 |
快速排序 | O \Omicron O (nlog \loglo g 2 n) | O \Omicron O (n log \log lo g 2 n) | O \Omicron O (n 2 ) | O \Omicron O ( log \log lo g 2 n) | In-place | 不稳定 |
堆排序 | O \Omicron O (nlog \loglo g 2 n) | O \Omicron O (n log \log lo g 2 n) | O \Omicron O (n log \log lo g 2 n) | O \Omicron O (1) | In-place | 不稳定 |
计数排序 | O \Omicron O (n+k) | O \Omicron O (n+k) | O \Omicron O (n+k) | O \Omicron O (k) | Out-place | 稳定 |
桶排序 | O \Omicron O (n+k) | O \Omicron O (n+k) | O \Omicron O (n 2 ) | O \Omicron O (n+k) | Out-place | 稳定 |
基数排序 | O \Omicron O (n*k) | O \Omicron O (n*k) | O \Omicron O (n*k) | O \Omicron O (n+k) | Out-place | 稳定 |
表中数据说明:
该十种排序算法可分为如下所示的两大类
算法步驟
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。