氣泡排序應該就是我們最開始學習並且最簡單的排序了,主要思想就是(假定這裡從小到大排序)從數列的第乙個元素開始一次與後面的元素比較(當然也可以選擇從最後乙個元素與往前面比較),如果比後者大側交換,達到最大數冒泡到最後乙個元素的位置;如果是比後者小側接著比較。
這裡可以用乙個標誌exchange優化一下氣泡排序,如果在一趟比價中就沒有發生前後元素交換就證明已經有序,無需在進行後序的冒泡操作
//氣泡排序
void bubble_sort(int* a, int n)
int exchange;
for (int i = 0; i <= n - 1; ++i)
if (exchange == 1)
break ;
}}
時間複雜度: 最好時間複雜度:o(n) (此時序列本來有序) 最壞時間複雜度與平均時間複雜度:o(n^2) 演算法設計與分析 氣泡排序
1 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。2 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。3.針對所有的元素重複以上的步驟,除了最後乙個。4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。時間複雜度 若檔案...
氣泡排序的介紹
氣泡排序指的是相鄰的兩個單位,比較儲存的資料,如果第乙個單元的資料較大,這兩個相鄰單元就交換儲存資料,直到排出正確的大小順序 js 以上 我們做了以下三個方面的優化,使得程式更簡單,執行的更順利 1,單次迴圈,最後乙個單元通過倒數第二個單元參與比較,最後乙個單元,就不參與單次迴圈 2,之前比較出的最...
氣泡排序內容介紹
基本思想 兩兩比較,如果發生逆序則交換,直到所有記錄都排好序為止。兩種方法 起泡排序o n n 快速排序o nlog2n 基本思想 每趟不斷將記錄兩兩比較,並按 前小後大 規則交換 優點 每趟結束時,不僅能擠出乙個最大值到最後面位置,還能同時部分理順其他元素 一旦下趟沒有交換,還可以提前結束排序 i...