冒泡算法改进--双向冒泡算法 Double Bubble

转载请表明出处http://blog.csdn.net/yming0221/article/details/6967047


双向冒泡算法比单向冒泡更适用于序列基本有序,但是有小元素在尾部,例如数列

1,2,3,4,5,6,7,8,9,0

如果使用单向冒泡算法,时间复杂度将是O(n^2)

改进的双向冒泡时间复杂度是O(n)

下面是双向冒泡算法的代码



该算法还能进一步改进,就是在数列的两端设置bound,用于记录最后一次交换的位置,这样可以进一步减少比较次数,进而减小时间复杂度。

你可能感兴趣的:(double)