c語言冒泡排序代碼 對(duì)n個(gè)元素的序列進(jìn)行冒泡排序時(shí),最少的比較次數(shù)是?
對(duì)n個(gè)元素的序列進(jìn)行冒泡排序時(shí),最少的比較次數(shù)是?對(duì)于氣泡排序,理論上,比較的最小數(shù)目是0,這可以是直接排序的序列。但是,程序不會(huì)像人一樣一眼就看出來,所以如果這次旅行沒有交換,它就知道順序是按順序排
對(duì)n個(gè)元素的序列進(jìn)行冒泡排序時(shí),最少的比較次數(shù)是?
對(duì)于氣泡排序,理論上,比較的最小數(shù)目是0,這可以是直接排序的序列。但是,程序不會(huì)像人一樣一眼就看出來,所以如果這次旅行沒有交換,它就知道順序是按順序排列的,也就是n-1次。但是,它需要在代碼中進(jìn)行判斷。如果不加評(píng)判,就會(huì)繼續(xù)比較,直到最后。
冒泡排序比較次數(shù)?
有一個(gè)公式:
要比較N個(gè)數(shù)字的大小并對(duì)它們進(jìn)行排序,請(qǐng)將它們比較N-1次。第一次比較n-1次,把最大的數(shù)字放在最后;第二次比較n-2次,把第二大的數(shù)字放在倒數(shù)第二位;以此類推,最后一次只比較兩個(gè)數(shù)字的大小,即一次。
您的問題應(yīng)該比較10次。
長(zhǎng)度為10的線性表進(jìn)行冒泡排序,比較次數(shù)怎么算?
9x8x7x6x4x3x2x1=362880氣泡排序算法未優(yōu)化,但易于理解。依次比較第一位的數(shù)字和第二位的數(shù)字。如果后者更大,兩個(gè)數(shù)字交換位置(這樣,第一位的數(shù)字總是比較數(shù)字中最大的)。如果有10個(gè)數(shù)字,則第一輪將與9個(gè)數(shù)字進(jìn)行比較,即第一輪的數(shù)字將與第二、第三、第四、第五、第六、第七、第八、第九和第十位數(shù)的數(shù)字進(jìn)行比較。第一輪比賽結(jié)束時(shí),人數(shù)最多的選手排在第一位。然后比較第二位的數(shù)字和后面的數(shù)字。如果是10個(gè)數(shù)字,第二輪就比8次好。等等。長(zhǎng)度為10的線性表比較了362880次。