冒泡排序(Bubble Sort)是一種簡單的排序算法,其基本思想是通過不斷交換相鄰兩個元素的位置,使得較大的元素逐漸往後移動,直到最後一個元素為止。
冒泡排序的步驟如下:
從序列的第一個元素開始,對相鄰的兩個元素進行比較,如果它們的順序錯誤就交換它們的位置,即將較大的元素往後移動,直到遍歷到序列的最後一個元素。
對剩下的元素重複上述步驟,直到整個序列都已經有序。
冒泡排序的時間複雜度為O(n^2),其中n是待排序序列的長度。這是因為冒泡排序的比較次數和交換次數都是n(n-1)/2。儘管如此,冒泡排序是一種穩定的排序算法,即相等的元素在排序前後的相對位置不會發生改變。此外,冒泡排序的空間複雜度是O(1),即只需要使用常數級別的額外空間來存儲臨時變數。
冒泡排序有一些變種,如雞尾酒排序(Cocktail Sort)、短冒泡排序(Short Bubble Sort)和奇偶排序(Odd-Even Sort)。這些變種算法都是基於冒泡排序的基本思想,並對其進行了不同的最佳化和改進,使得排序效率更高。