排序演算法的時間複雜度主要在於兩種操作:比較和移動。高效率的排序演算法應該盡可能減少比較次數和移動次數。
氣泡排序:屬於交換排序,思想是只比較相鄰的兩個資料,這樣第一次遍歷結束後,就可以確定最後一位的資料,然後再迴圈遍歷最後一位之前的資料。
比如 第一次遍歷的過程
8和0比較—–0,8,5,4,9
8和5比較—–0,5,8,4,9
8和4比較—–0,5,4,8,9
8和9比較—–0,5,4,8,9
這樣比較的結果是,較大的數一直在後移,最終移到最後的數就是最大的,之後再遍歷最後一位之前的。
public
class burblesort ;
bubblesort(arr);
for (int i = 0; i < arr.length; i++)
}private
static
void
bubblesort(int arr)
}}
}}
時間複雜度分析 排序演算法 氣泡排序 java實現
依次兩兩比較,較小的浮上來,較大的往下沉。平均時間複雜度 o n2 空間複雜度 o 1 用於交換 穩定性 穩定 public static void bubblesort int array 加入一標誌性變數flag,用於標誌某一趟排序過程中是否有資料交換,如果進行某一趟排序時並沒有進行資料交換,則...
Java實現氣泡排序演算法
一 基本思路 氣泡排序是一種簡單的交換類排序。其基本思路是,從頭開始掃瞄待排序的元素,在掃瞄過程中依次對相鄰元素進行比較,將關鍵字值大的元素後移。每經過一趟排序後,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一趟排序只需要比較到此位置為止,直到所有元素都已有序排列。一般地,對n個元素進行氣...
Java實現氣泡排序演算法
氣泡排序是一種簡單的交換類排序。其基本思路是,從頭開始掃瞄待排序的元素,在掃瞄過程中依次對相鄰元素進行比較,將關鍵字值大的元素後移。每經過一趟排序後,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一趟排序只需要比較到此位置為止,直到所有元素都已有序排列。一般地,對n個元素進行氣泡排序,總共需...