氣泡排序(Bubble Sort)
氣泡排序(Bubble Sort)
介紹
氣泡排序是反覆進行將相鄰數字做比較後重新排序,因排序時一個一個浮出序列頂部,很像水中泡泡浮起來的樣子,亦稱泡泡排序,最壞情況下,數是由大排到小,每次比較後將數值對調,因此,時間複雜度為O(n^2)。
虛擬碼
function bubble_sort (array, length) { |
複雜度
時間複雜度
$O(n^2)$
空間複雜度
$O(1)$
實戰
題目說明
給定一個數組 nums,其中有 n 個對象,顏色為紅色、白色或藍色,並對它們進行排序,顏色按紅色、白色和藍色的順序排列。 將使用整數 0、1 和 2 分別表示紅色、白色和藍色。 必須在不使用library的排序功能的情況下解決此問題。

解法
使用泡泡排序解決此問題。
將陣列內數值由左至右雙雙比較,假設左邊數值大於右邊數值則互換位置,跑完一輪迴圈最右邊數值一定是最大的,進行第二圈比較時就可以省略比較最後一個數字,第三圈就忽略最後兩個數字,依此類推。
Javascript
/** |
[name=@joe94113] [time=Tue, Oct 25, 2022 10:00 PM] [color=#907bf7]
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Joeの小屋!
評論
ValineDisqus





