插入 希爾 選擇排序

2021-09-27 05:16:27 字數 590 閱讀 2030

排序:

一般是原地排序(in-place)

排序:預設情況下都是按非降序排序

穩定性:能保證排序過程中相等的資料的相對順序不變

1.插入排序:(越接近有序,執行時間效率越高)

減治演算法排序(直接插入排序,折半插入排序)

一共需要進行size-1次插入

插入過程:每次把無序區間的第乙個數,在有序區間遍歷(從後往前遍歷)

1)找到合適的位置

2)搬移原有資料,為該資料騰出位置

2.希爾排序:(利用插入排序中,越接近有序,時間效率越高)

在插入排序之前做預排序(分組插排),使資料盡可能接近有序

先分組再對每組進行插入排序,分的組的個數為gap=gap/3+1;

直到gap==1退出

3.選擇排序:(直接選擇排序、堆排序)

減治演算法

每次遍歷無序區間(直接遍歷、利用堆),找到無序區間的最大的數

把最大的數放到無序區間的最後邊

一直選擇n-1(n)數之後,資料完全有序

最重要的就是確定有序、無序區間

堆排序:

按公升序的話,必須建大堆

按降序的話,必須建小堆

冒泡 選擇 插入 希爾排序

include include include using namespace std template void print const t a,int n 氣泡排序 每次迴圈總是將最大元素移到隊尾 o n 2 穩定的排序演算法 templatevoid bubblesort t a,int n ...

排序 之 插入 希爾 選擇

插入排序類似於插入撲克牌 通過一次次遍歷,進行排序 插入排序 public static void insertsort int arr arr end 1 key 希爾排序是插入排序的優化,通過隔幾個一排進行優化 希爾排序 public static void shellsort int arr ...

初級排序方法 選擇 插入 希爾排序

初級排序方法是最基本的排序方法,主要包括選擇排序 插入排序以及希爾排序。選擇排序的原理是通過比較整個陣列,找到最小值,然後將最小值與陣列中第乙個位置的數字進行交換,依靠迴圈來完成對整個陣列的排序。對於乙個由n個元素組成的陣列,這種方法進行 n 2 2次比較和n次交換,並且無論輸入是什麼情況,其比較和...