您的位置:首页 > 其它

冒泡排序

2016-07-06 00:00 190 查看
摘要: 冒泡排序

冒泡排序

交换排序主要有冒泡排序和快速排序

实现思路:

对于n个数,最坏情况下需要进行n-1趟比较。

第1趟:依次比较第n-1和n-2索引处的数据,如果发现后一个数据大于前一个数据,就交换,再比较n-2与n-3索引处的数据...以此类推。经过第1趟比较最大的数据排在最前面。

第2趟:依次比较第n-1和n-2索引处的数据,大的往前放,第2趟比较结束之后第2大的数据排在第二的位置(注意:前面已经比较出来的数不在比较范围内,故循环次数应该减1)

......

实际上,冒泡排序每趟交换结束之后,不仅能把当前最大值选出排在最前面,还能部分理顺前面其他的元素。所以,一旦某一趟没有发生交换,即可提前结束排序。

算法实现



算法总结:

冒泡排序算法的时间效率是不确定的,在初始数据有序的情况下,执行一趟冒泡排序。

最佳时间复杂度:O(n)

空间复杂度为:O(1)

冒泡排序是稳定的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  冒泡排序