資料結構與演算法小結 排序(三)

2022-05-04 17:15:05 字數 454 閱讀 7187

2. 選擇排序

2.1 簡單選擇排序

簡單選擇排序的主要思想是,對第i個元素,將其與後面的n-i個元素作比較,用乙個min變數儲存這n-i+1個元素中的最小值的位置,比較完後將a[min]和a[i]交換(min != i)。簡單選擇排序進行了(n^2)/2次比較,n次交換,交換的次數少。

其主要過程如圖所示:

簡單選擇排序時間、空間複雜度、穩定性、適用場合如下:

從適用場合看到,雖然在基本的三個排序演算法中,效能通常為:直接插入》冒泡》簡單選擇,但由於簡單選擇排序所需交換次數少,對於移動會花很大代價的場合,反而可以成為一種待選方案。

資料結構與演算法小結 排序(六)

3.2 快速排序 快速排序綜合效能優越,其主要思想在於找乙個pivotvalue,通過不斷的比較 交換,將序列變成pivotvalue前的值都比它小,在其後的值都比它大 然後,再對pivotvalue前面的序列和後面的序列分別使用同樣的方法得到具有該性質的序列.不斷遞迴呼叫至最底層即排好序。其基本流...

資料結構與演算法小結 排序(二)

1.2 希爾排序 希爾排序屬於插入排序的一種,是直接插入排序的優化,其主要思想是 由於在序列基本有序的情況下,直接插入排序的效率很高,那麼,我們引入乙個增量incre,把以incre為間隔的元素做一次直接插入排序,使其基本有序 隨後,incre慢慢減小,繼續做上述直接插入排序,最後incre變成1,...

資料結構與演算法 排序 三

假設初始序列含有n個記錄,則可以看成是n個有序的子串行,每個子串行的長度為1,然後兩兩歸併,得到 n 2 個長度為2或者1的有序子串行 再兩兩歸併,如此重複,直至得到乙個長度為n的有序序列為止。歸併排序是一種比較占用記憶體,但是卻效率高並穩定的演算法,時間複雜度是o logn 對簡單選擇排序的一種改...