对单个链表进行排序

时间:2010-07-23 06:56:46

标签: algorithm sorting

您如何对单个链表进行排序? (这里的问题是单个属性+使用LinkedList进行排序比数组更难) 我想看一个伪代码..

尝试尽可能提高时间和空间的效率。

谢谢!

5 个答案:

答案 0 :(得分:7)

答案 1 :(得分:6)

答案 2 :(得分:5)

由于链表只是其他项指向的项目数,因此可以构造一个具有O(n)时间和O(n)空间的指针数组,使用任何优秀的排序算法对其进行排序O(n log n)时间和O(1)空间,然后用O(n)时间和O(1)空间从头开始重建链表。

总的来说,那是O(n log n)时间和O(n)空间。

答案 3 :(得分:2)

答案 4 :(得分:0)

插入排序和QuickSort都可以在单链表上完成,效果与阵列相同。