教你理解氣泡排序。?

Tags: 演算法, 排序,

氣泡排序是排序演算法中最基本的排序演算法,其原理是什麼呢?讓座標X為您梳理一下。

方法/步驟

第一步:氣泡排序,故名思議就像氣泡漂上來一樣,值比較小的在前,值比較大的在後。

教你理解氣泡排序。

第二步:同理,每次迴圈結束的時候我們得到數值堆中最小的數值。為了更好的解釋,這裡沒結束一次迴圈,程式等待一下輸入,輸入任意字元後繼續迴圈。兩次輸入後,得到1和2分別是最小值。

教你理解氣泡排序。

第三步:程式碼如下,這裡我們選用數字做實驗。

教你理解氣泡排序。

第四步:兩層迴圈的效率分析,雙層迴圈在這裡又分為數值的比較操作和數值的移動操作,同時比較操作需要用到一個記憶體空間。我們用下面程式碼進行測試。在逆序情況下。

教你理解氣泡排序。

第五步:執行結果如下,比較次數=交換次數,均為n*(n-2)/2,這裡的n為需要排序的元素個數。

教你理解氣泡排序。

第六步:在正序情況下,測試結果如下。

教你理解氣泡排序。

第七步:在正序情況下,只進行了比較,沒有進行交換,比較次數為n*(n-1)/2。綜上所述,氣泡排序的時間複雜度為o(n*n)。這是一種時間複雜度比較高的排序演算法。

相關問題答案