作者:disappearedgod
文章出处:http://blog.youkuaiyun.com/disappearedgod/article/details/23793109
时间:2014-4-15
前言:
(1)插入排序 (适合) 平均时间复杂度:O(n2) 空间复杂度:O(1)
(2)冒泡排序 (适合) 平均时间复杂度:O(n2) 空间复杂度:O(1)
(3)希尔排序 (适合) 平均时间复杂度:O(n logn) 空间复杂度:不稳定的
(4)选择排序 (适合) 平均时间复杂度:O(n2) 空间复杂度:
(5)快速排序 (不适合) 平均时间复杂度:O(n logn) 空间复杂度:O(logn) O(n)
(6)归并排序 (不适合) 平均时间复杂度:O(n logn) 空间复杂度:O(n)+O(logn)
(7)基数排序 (不适合) 平均时间复杂度:O(d(n+r)) 空间复杂度:O(n+r)
(8)堆排序 (不适合) 平均时间复杂度:O(n logn) 空间复杂度:O(1)
其实,一般来说。如果涉及到数据之间的相对关系调配,那么只适合线性排序;如果只是数据内容之间的相互交换,那么这种排序方法也比较适合链表的排序。快速排序、合并排序、堆排序都涉及到了中间值的选取问题,所以不大适合链表排序。
为了说明链表排序是怎么进行的,我们可以利用插入排序作为示例,描述链表是怎么进行插入排序的。
相关链接: