Sort-list

Sort-list

在O(n log n)的时间内使用常数级空间复杂度对链表进行排序

关键词: 链表 ; O(1)空间复杂度; O(nlogn)


我个人一开始的想法是 基数排序 并且在网上查了相关资料 发现大部分都说基数排序的空间复杂度不是O(1)
这一点我感觉到很纳闷! 基数排序不是只要一个10容量的指针数组即可了嘛?(不深入)

但是我排除这基数排序的想法 是因为:
1.待排序列有正有负 (我觉得基数排序对正负数的区分不太好)
2.待排序的数字位数不固定(这个是最zhiming的)

后来看了一些题解 才看到大部分人都用的是递归的归并排序 (我也很纳闷为什么他们能通过)
但是有一个问题 归并排序的空间复杂度不是O(1) 而且题解中由大部分人用的还是递归 ,而我们知道递归是占用递归空间栈的空间的 O(logn) 所以说无论是递归形式的归并 还是非递归形式(用了栈的) 都是不可行的!

这里的想法借鉴了一部分 归并排序的递归和非递归实现(C代码)

虽然博客中还是用了tmp数组,但我zhishi借用了他归并的思想(两个两个归并,四个四个归并......)
不得不说 递归形式的归并排序 和非递归形式的归并 排序过程是完全不同

后面就是要注意链表指针的移动了,这里面比较复杂,我也不知道该怎么说hh

最后一个段错误的可能就是当初始链表为空时, 有可能会发生段错误 所以在函数中记得另外判断一下
当head==NULL时 直接输出NULL;
千万注意链表的yuejie问题!!!!

总结:链表还是学的不够扎实,特别是指针移动,shasha搞不清。这道题思想虽然一开始就清楚了,但是写了好久才实现。

全部评论

相关推荐

03-17 23:54
黑龙江大学 Java
来个白菜也好啊qaq:可以的,大厂有的缺打手
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 一张图晒出你司的标语 #
4477次浏览 78人参与
# 找AI工作可以去哪些公司? #
10212次浏览 325人参与
# 米连集团26产品管培生项目 #
13506次浏览 286人参与
# 你的实习产出是真实的还是包装的? #
20951次浏览 346人参与
# 从事AI岗需要掌握哪些技术栈? #
9906次浏览 400人参与
# 春招至今,你的战绩如何? #
68165次浏览 603人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
15780次浏览 230人参与
# AI面会问哪些问题? #
29257次浏览 641人参与
# 你做过最难的笔试是哪家公司 #
36267次浏览 322人参与
# 中国电信笔试 #
32411次浏览 302人参与
# 金三银四,你的春招进行到哪个阶段了? #
22601次浏览 284人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
341267次浏览 2176人参与
# 同bg的你秋招战况如何? #
212268次浏览 1121人参与
# 哪些公司真双非友好? #
69844次浏览 289人参与
# 如何准备秋招 #
78326次浏览 868人参与
# 阿里笔试 #
179528次浏览 1324人参与
# 应届生被毁约被毁意向了怎么办 #
63364次浏览 305人参与
# 机械人避雷的岗位/公司 #
62728次浏览 393人参与
# 小马智行求职进展汇总 #
25151次浏览 80人参与
# 第一份工作一定要去大厂吗 #
15303次浏览 129人参与
# 担心入职之后被发现很菜怎么办 #
291438次浏览 1210人参与
# 为了减少AI幻觉,你注入过哪些设定? #
26336次浏览 310人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务