基礎演算法之氣泡排序

2021-08-19 05:36:54 字數 343 閱讀 8001

1.今天面試被問到最簡單的氣泡排序,氣泡排序看似簡單其實也不簡單,在此重新複習一下氣泡排序

氣泡排序的時間複雜度是n平方,如果陣列已經有序,可以進行優化,sort3方法在陣列有序的時候,只需要遍歷一次陣列,時間複雜度是n,空間複雜度只需要乙個int變數在交換的時候使用

public void sort1(int a) }}

}public void sort2(int a) }}

}public void sort3(int a)

if (issort)

break; // 如果沒有執行交換,說明陣列已經有序}}

}

基礎排序演算法之氣泡排序

1.主體 兩個迴圈 2.時間複雜度 o n 2 3.過程 對於公升序,比較相鄰兩個數,如果第二個數小,則交換位置 從數列後往前比較,最終第乙個數是最小的 重複上述步驟 demo include includeusing namespace std 氣泡排序 void my swap int firs...

演算法基礎之氣泡排序

是讓最大的數浮動到陣列最後的位置,其次大的數浮動到陣列倒數第二個位置。當然,你也可以從大到小排序,也可以從後向前冒泡。其特徵操作是相鄰元素的比較和交換。bubble sort a for i a.length to 1 for j 1 to i ifa j a j 1 exchance a j an...

基礎演算法之氣泡排序演算法

在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即 每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。以隨機產生的五個數為例 li 354,405,469,82,345 氣泡排序是怎麼實現的?首先先來個大...