排序演算法(一) JAVA實現氣泡排序

2021-07-30 08:34:32 字數 580 閱讀 5163

排序演算法的時間複雜度主要在於兩種操作:比較和移動。高效率的排序演算法應該盡可能減少比較次數和移動次數。

氣泡排序:屬於交換排序,思想是只比較相鄰的兩個資料,這樣第一次遍歷結束後,就可以確定最後一位的資料,然後再迴圈遍歷最後一位之前的資料。

比如 第一次遍歷的過程

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個元素進行氣泡排序,總共需...