放序的次数怎么确定的

如题所述

放序的次数按如下方法确定
一、冒泡排序

冒泡排序的原理是将相邻元素比较,小的往左移动,大的往右,整个过程就像是水中气泡上浮。在相邻两个元素的比较中,如果相等,则没有必要交换。这一点,保证了冒泡排序的稳定性。无论相等的元素之前处于什么位置,在冒泡的效果下, 最终会相邻,只要相等元素不交换,就不会改变相对位置。所以冒泡排序是稳定的。

对于n个元素,相邻元素均要比较,共有(n-1)次。经过一回合冒泡过程后,最大元素沉淀到最右位置。第二回合, 只剩下(n-1)个元素,只需要比较(n-2)次。依次类推,其他比较次数为(n-3),......,2,1. 所以总共比较次数为n(n-1)/2,而且是固定为这个数目.

至于交换次数,这个取决于初始序列的逆序数。对于数组A[1,...,n],如果对于i<j有A[i]>A[j],则称(A[i],A[j])是一个逆序对,序列中逆序对的个数称为逆序数。

冒泡排序每次交换,只改变了相邻两元素的位置,不影响和其他元素之间的逆序关系,因而,逆序数只减1。所以,冒泡排序交换次数等于初始序列的逆序数。

二、选择排序

选择排序的原理是每回合找出最小元素,然后交换到前面位置。

选择排序是不稳定的排序算法,不稳定主要产生于交换。交换过程可能改变相同元素的相对位置,举个例子,序列(5,8,5,1),最小数是1,第一次交换,得到(1,8,5,5),元素5相对位置已经发生变化。

下面是比较次数。对于n个元素的序列,找出最小元素需要比较(n-1)次。第一回合后,序列只剩下(n-1)个元素,下一次找最小元素还需要(n-2)次比较。最后直到2个元素需要比较1次。所以最后比较次数总共为(n-1)+(n-2)+...+1=n(n-1)/2,且固定不变。

每一回合最多交换一次,有(n-1)回合,所以最多交换次数为(n-1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-12-11
答:放序的次数是根据阿拉伯数字来确定的。