您如何对单个链表进行排序? (这里的问题是单个属性+使用LinkedList进行排序比数组更难) 我想看一个伪代码..
尝试尽可能提高时间和空间的效率。
谢谢!
答案 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都可以在单链表上完成,效果与阵列相同。