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

2021-10-06 21:35:30 字數 793 閱讀 5343

常用的排序演算法主要包括:

1、插入排序

直接插入排序

希爾排序

2、交換排序

氣泡排序

快速排序

3、選擇排序

簡單選擇排序

堆排序快速排序

4、歸併排序

其中,氣泡排序算是最簡單的一種排序演算法

public class bubble ;

int temp=0;

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

}system.out.println("第["+(i+1)+"]輪,排序結果:"+arrays.tostring(arr));

} }}

通過分析我們可以得到氣泡排序的時間複雜度為o(n2),假如現在存在這種情況,存在乙個陣列,現在已經是有序的資料,如果使用氣泡排序同樣需要o(n2)的時間複雜度,這時我們需要對氣泡排序進行優化。

public class bubbleoptimization ;

int temp=0;

int flag=0;

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

}//說明上面 內for迴圈中,沒有交換任何元素。

if(flag==0)

system.out.println("第["+(i+1)+"]輪,排序結果:"+arrays.tostring(arr));

} }}

51cto博文遷移

排序演算法 氣泡排序 優化

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

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

氣泡排序優化演算法思想 我們通過在程式定義了乙個bool型別的flag變數,用來判斷往後的迴圈當中,陣列是否已經是有序的,每一輪迴圈都會設定其值為true,當有元素對調位置時,就將flag的值設定為true,表示該陣列還不是有序陣列。每一輪都要判斷flag的值,如果判斷當前一輪操作沒有元素有位置調換...

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

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