新手晋级!!! 求教排序算法的 时间复杂度与空间复杂度

w_seons1s_w 2013-07-26 10:12:55
举个栗子,
选择排序,算法复杂度O(n2)--[n的平方]

这句话什么意思?

没有深入学习过,请各位大哥大姐没事的话,给小弟说一下,不胜感激!!!

不只是选择排序的,其他排序方法 如果大哥大姐有时间 耽误您一点时间,麻烦也请告知一下,

小弟不胜感激!!
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
oh_Maxy 2013-07-26
  • 打赏
  • 举报
回复
虽然结贴了,还是要说下: 时间复杂度,俺也是这么理解的:几层for,复杂度O(几) 空间复杂度,如果只用了一个或者几个额外临时变量存储空间(与数据规模n没有倍数关系),空间复杂度为O(1)(一般都会用);如果用的额外存储空间数,与待排序的规模差不多,就是O(n)的空间复杂度了(比如n/2、n、2n等,这基本上算是相当耗费空间了);如果额外空间为n几次方的数量级,空间复杂度就是O(几)(没见过空间复杂度超过O(n)的)。
w_seons1s_w 2013-07-26
  • 打赏
  • 举报
回复
谢谢楼上,我在写的过程已经有点明白了。看了你的解释更印证了我的理解,谢谢哈。
xiejin90314 2013-07-26
  • 打赏
  • 举报
回复
for() { for() } 一般情况下事件复杂度为O^2
w_seons1s_w 2013-07-26
  • 打赏
  • 举报
回复
引用 3 楼 oh_Maxy 的回复:
虽然结贴了,还是要说下: 时间复杂度,俺也是这么理解的:几层for,复杂度O(几) 空间复杂度,如果只用了一个或者几个额外临时变量存储空间(与数据规模n没有倍数关系),空间复杂度为O(1)(一般都会用);如果用的额外存储空间数,与待排序的规模差不多,就是O(n)的空间复杂度了(比如n/2、n、2n等,这基本上算是相当耗费空间了);如果额外空间为n几次方的数量级,空间复杂度就是O(几)(没见过空间复杂度超过O(n)的)。
感谢!受教了!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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