对n个元素的序列进行冒泡排序时,最少的比较次数是
3个回答
展开全部
进行冒泡排序,理论上来说,最小的比较次数是 0次,可以是直接排好序的序列。
但是,程序并不会像人一样,一眼看出来,所以它的走一趟,如果在这一趟中没有发生任何交换,它知道这个序列是排好序的,也就是n-1次,不过这个要在代码中判断,如果不加入判断的话,它还是一直比较下去,直到结束。
是选d,比较次数最多时元素是逆序的,需要n-1趟排序
第一趟,比较n-1次,确定第n个据元素
第二趟,比较n-2次,确定第n-1个数据元素
第三趟,比较n-3次,确定第n-2个数据元素
......
第n-1趟,比较1次,确定第1、2个数据元素
总的比较次数=(n-1)+(n-2)+......+1=n(n-1)/2
但是,程序并不会像人一样,一眼看出来,所以它的走一趟,如果在这一趟中没有发生任何交换,它知道这个序列是排好序的,也就是n-1次,不过这个要在代码中判断,如果不加入判断的话,它还是一直比较下去,直到结束。
是选d,比较次数最多时元素是逆序的,需要n-1趟排序
第一趟,比较n-1次,确定第n个据元素
第二趟,比较n-2次,确定第n-1个数据元素
第三趟,比较n-3次,确定第n-2个数据元素
......
第n-1趟,比较1次,确定第1、2个数据元素
总的比较次数=(n-1)+(n-2)+......+1=n(n-1)/2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最少是一次,但最好内层是n次外层循环是n-1次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询