A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 芦子骐 中级黑马   /  2013-3-26 00:01  /  1365 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 芦子骐 于 2013-3-26 07:12 编辑

关于数组的快速排序,今天查了很多网上的资料,我发现都是要遍历两趟以上才可以对数组完成排序,这样很快吗?我怎么觉得这样还没有冒泡来的快……
还有就是排序的时间是怎么算的??

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-26 07:08

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

3 个回复

倒序浏览
快速排序的时间复杂度是O(nlgn),冒泡是O(n^2),可知快速排序还是优于冒泡的额

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
按照数据结构书上讲的,选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第 i 遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过 i 遍处理之后,前 i 个记录的位置已经是正确的了。   选择排序是不稳定的,算法复杂度是O(n的二次方 )。
你可以大致的这样想,对每个元素 ,都要和其他所有的元素比较N次,这样就相当于N*N 了

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
冒泡的快体现在写代码,快排的快体现在运行。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马