冒泡排序

简介

冒泡排序是一种流行但低效的排序算法,它的作用是反复交换相邻的未按次序排列的元素。

BUBBLESORT(A)

1
2
3
4
for i = 1 to A.length -1
for j = A.length downto i + 1
if A[j] < A[j - 1]
exchange A[j] with A[j - 1]

#

假设$ A^{‘}$表示BUBBLESORT(A)的输出。为了证明BUBBLESORT正确,我们必须证明它将终止并且有:
$ A^{‘}[1] $

其中n=A.length。

#

冒泡排序的最坏情况运行时间是多少?与插入排序的运行时间相比,其性能如何?

参考

  • 《算法导论 - 第三版》 P23