Lintcode98 Sort List solution 题解

【题目描述】

Sort a linked list in O(nlogn) time using constant space complexity.

在O(nlogn) 时间复杂度和常数级的空间复杂度下给链表排序。

【题目链接】

www.lintcode.com/en/problem/sort-list/

【题目解析】

此题可以归并排序。以下归并排序实现的几个要素。

1.按长度等分链表,归并虽然不严格要求等分,但是等分能保证线性对数的时间复杂度。由于链表不能随机访问,故可以先对链表进行遍历求得其长度。

2.合并链表,细节已在Merge Two Sorted Lists | Data Structure and Algorithm中详述。

在按长度等分链表时进行「后序归并」——先求得左半部分链表的表头,再求得右半部分链表的表头,最后进行归并操作。

由于递归等分链表的操作需要传入链表长度信息,故需要另建一辅助函数。

【参考答案】

www.jiuzhang.com/solutions/sort-list/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,899评论 0 33
  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 5,992评论 0 19
  • 总结一下常见的排序算法。 排序分内排序和外排序。内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序...
    jiangliang阅读 1,516评论 0 1
  • Sort List 今天是一道有关排序的题目,来自LeetCode,难度为Medium,Acceptance为27...
    ab409阅读 478评论 0 0
  • 看爸爸去哪儿,neinei和max还有jasper全英交流毫无障碍,刷微博看到Angel全英文解说数学题! 一批名...
    錡巨人阅读 633评论 0 6

友情链接更多精彩内容