選擇排序vs氣泡排序

2022-10-09 12:39:13 字數 452 閱讀 1545

氣泡排序: 最小時間複雜度n,最差複雜度為 n^2,使用兩層迴圈實現,依次將陣列裡的每個元素,與其他元素比較,只要大於當前正在比的元素就交換兩者

**實現:

function bubble(arr)

if( sorted ) break;

}return arr;

}選擇排序:穩定,時間複雜度無論如何都是o(n^2), 具體實現過程是每趟排序將最小元素冒泡到已經有序的序列後邊;

**實現:

function selectsort(arr)

}swap( i,min,arr )

}return arr;

}氣泡排序的過程和選擇排序的過程看起來好像是恰好相反的兩個過程,每一趟冒泡之後,最大元素一定被交換到了陣列的最後位置,而選擇排序每一趟總是把剩餘未排序中最小的元素給提了出來,周而復始。

這兩個演算法都是初級演算法,都是穩定演算法,以上

選擇排序VS氣泡排序

選擇排序 每次選擇當前最小或者最大的數字置與相應的位置進行交換,最好即完成排序,它是對氣泡排序的一種優化 氣泡排序 也會選擇當前的最大或者最小的數到相應的位置,但是他每次都是兩兩交換,就像氣泡一樣慢慢的將數公升上去 區別 兩者的過程不一樣,選擇採用標記來標記當前的需要交換的位置,最後只需要交換一次,...

選擇排序,氣泡排序,雙向氣泡排序

氣泡排序和選擇排序是最基本的排序方式,要掌握。氣泡排序重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。選擇排序每一趟從待排序的 資料元素 中選出最小 或最大 的乙個元素,順序放在已排好序的數列的...

選擇排序,氣泡排序,雙向氣泡排序

首先是選擇排序,原理 1 找到未排序的數中最小的數放到最前面 2 陣列後移一位 3 重複上面兩部。void selectsorting if min a i swap b i b t 這個應該是我第乙個接觸到的排序演算法,結果第一次打排序水題直接上冒泡,直接接了一發tle 才知道有nlogn的演算法...