氣泡排序的優化演算法

2021-09-19 13:53:25 字數 575 閱讀 8580

氣泡排序的基礎演算法有哪些缺點

每一曾比較都要比較到陣列的最後,但是沒有必要,只要比較到無序數列就可以了(無序數列即沒有排過序的陣列元素所組成的序列)

不管是否有序,都要進行n-1次迴圈,

在內層迴圈定義的temp,則每次迴圈都要開闢乙個空間,浪費記憶體。

可以從哪幾個方面來對基礎演算法進行優化?

定義乙個boolean型別的變數flag,預設為true(有序),發生交換,則為false,一趟迴圈結束後,根據flag的值判斷是否有序,若為true,則退出迴圈。

內迴圈比較 陣列.lenght-1-i;

將temp變數定義在迴圈外

public class testbubble ;

int temp;

boolean flag;

for(int i =0; iarray[j+1])

}if(flag)

} system.out.println("排序後:" + arrays.tostring(array));

}}

氣泡排序 氣泡排序演算法優化

常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...

排序演算法 氣泡排序 優化

排序演算法在程式設計中起到非常大的作用,氣泡排序是其中比較經典的演算法。雖然效率不高,但是每個演算法都有適合的場景。氣泡排序就是在排序過程中相鄰元素不斷交換,看起來向元素冒泡一樣。那我們就可以通過新增乙個標誌位來對氣泡排序進行優化處理。因為,在某一次排序的過程中可能需要排序的陣列已經是有序的了,在這...

氣泡排序演算法 氣泡排序的基礎演算法和優化演算法

如有乙個數列有n 5 個元素,則至多需要n 1 4 趟迴圈才能保證數列有序 2.每一趟迴圈都從數列的第乙個元素開始比較,依次比較相鄰的兩個元素,比較到數列的最後 3.如果前乙個元素大於後乙個元素,則使用第三變數交換 原理 基礎演算法的缺點 1.每一趟比較都要比較到陣列的最後,沒有必要,只要比較到無序...