java氣泡排序及原理

2021-06-18 10:38:59 字數 740 閱讀 8518

昨天去面試,hr問我關於演算法和資料結構的問題,結果連個氣泡排序我都給寫錯了,特意回來研究了下原理,免得以後又忘了;

首先定義乙個n個資料的陣列array;

然後根據氣泡排序的基本思想:

1.相鄰的2個數相比較,按照從小到大的順序將資料排列出來;

2.n個資料,那麼就要依次排序,第一次是n-1次相鄰數比較,第二次是n-2次相鄰數比較,最多進行n-1趟排序,即可得到排序結果;

按照自己的理解,原理我也只能這樣描述了;

還是寫個**來說明下更好

public class paixu ;

int temp = 0;

for (int i = 0; i < arr.length-1; i++)

}} for(int k=0;k

說下排序的順序:

第一趟排序比較了4次,陣列的結果為:4,7,0,2,12;

第2趟比較了3次,陣列的結果為:4,0,2,7,12

第3趟比較2次,陣列的結果為:0,2,4,7,12;

因為已經沒有要交換的值了,所以排序停止,根據上面的順序,可以知道氣泡排序就是每一次比較都是把比較的n-2個資料中最大數放在n,n-1...1上。

基本的原理就這樣了,不過該演算法的執行效率並不高,根據它的時間複雜度:氣泡排序的最壞時間複雜度為o(n2)。 演算法的平均時間複雜度為o(n2) 。

氣泡排序最好的時間複雜度為o(n)。 來看,這裡的執行效率顯然不好。

好了,今天記錄下來,以後不會再忘記了

氣泡排序原理及實現

氣泡排序就是每次將重的泡泡下沉,輕的泡泡上浮。通過一次次反覆的操作,實現排序目的。下面看一下冒泡的實現 public class test bubblesort data for int i 0 isystem.out.print data i private static void bubbles...

氣泡排序 bubble sort 原理及演示

氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮...

Java 實現氣泡排序及優化

氣泡排序就是按索引逐次比較相鄰的兩個元素,滿足比較條件,則置換,否則不做改變。其優化手段可以從減少記憶體迴圈和外層迴圈著手。最差的冒泡 public void sort1 int ary system.out.println total time system.nanotime starttime ...