如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)

arvon009 2011-10-28 02:45:13
如题
...全文
699 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pb_myown 2011-10-28
  • 打赏
  • 举报
回复
楼主应该没把题目说全吧??
ohmygirl 2011-10-28
  • 打赏
  • 举报
回复
必须不存在。

基于比较的算法,时间复杂度o(nlgn),空间复杂度o(1)

计数排序可以达到O(N)的时间复杂度,但是空间的复杂度却是O(N).
Jaya1989 2011-10-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 arvon009 的回复:]
如题
[/Quote]
表示不懂, 应该是不存在这样的算法..
lee535570373 2011-10-28
  • 打赏
  • 举报
回复
基于比较的下界是 O(Nlog N),空间O(1)

计数排序 O(N),但空间O(N)
bellbird 2011-10-28
  • 打赏
  • 举报
回复
建议楼主深入研究这个问题,研究出来后拿下图灵奖应该不成问题
超级大笨狼 2011-10-28
  • 打赏
  • 举报
回复
额,这是不可能的.否则大家都别学算法了,直接都用这个了.

1,时间复杂度O(n),空间复杂度O(N)
2,时间复杂度O(n*Lgn),空间复杂度O(1)

目前最优只能这样,要么牺牲时间,要么牺牲空间.

除非,某些算法的最优情况下,可以做到,比如插入排序后,只有两张牌乱了顺序.

但是,我们一般分析的都是平均情况和最差情况,才是算法重点要做的事情.

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧