冒泡排序比较次数

来源:百度知道 编辑:UC知道 时间:2024/05/05 03:01:58
若用冒泡法将1,3,4,5,2按从小到大排列,需要进行数据比较的次数是?

这个有个公式:

比较N个数的大小并排序的话,要比较N-1遍。第一遍比较N-1次,将最大的数放在最后;第二遍比较N-2次,将第二大的数放在了倒数第二的位置;依次类推,最后一遍只比较两个数的大小,即一次。

你的问题要比较共10次。

冒泡排序是两两比较,以题目为例,如果有5个元素,则第一圈从前往后两两比较需要比较4次,将最大的数排到最后;第二圈比较前边4个数,那就比3次……只到最后,需要比1次。那么总的比较次数就是4+3+2+1=10(次),如果换成n个元素就是要(n-1)+(n-2)+……+1次比较,也就是1到(n-1)求和,我们知道1到n的求和公式是n*(n+1)/2,那么这个的求和就是(n*(n+1)/2)-n=n*(n-1)/2,适用于计算冒泡排序总共要执行的次数,当n是5的时候n*(n-1)/2就是10,当n=6的时候就是15