八大排序演算法之插入排序

2021-07-30 12:41:41 字數 692 閱讀 1076

排序有內部排序和外部排序,內部排序是資料記錄在記憶體中進行排序,而外部排序是因排序的資料很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。

先上圖:

我先從上往下挨個介紹:

1->插入排序:

插入排序時間複雜度最優為 o(n)  情況是陣列為已經排好的順序;最差為o(n^2) 情況為陣列為排好的逆序;平均時間複雜度為o(n^2)。空間複雜度為o(1)。

插入排序的基本思想是:每步將乙個待排序的紀錄,按其關鍵碼值的大小插入前面已經排序的檔案中適當位置上,直到全部插入完為止。

插入排序

是穩定的排序演算法。

**:

#include

#include

using namespace std;

template//模板

void insertsort(vector&arr)

arr[j]=temp;}}

int main()

;vectorarr(a,a+10);

insertsort(arr);

for(int i=0;i<10;i++)

return 0;

}

八大排序演算法之插入排序

所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。排序演算法,就是如何使得記錄按照要求排列的方法。排序演算法在很多領域得到相當地重視,尤其是在大量資料的處理方面。乙個優秀的演算法可以節省大量的資源。在各個領域中考慮到資料的各種限制和規範,要得到乙個符合實際的優秀...

八大排序之插入排序

插入排序基本思想是每一步將乙個待排序的記錄,插入到前面已經排好序的有序序列中去,直到插完所有元素為止。1.時間複雜度 插入演算法,就是保證前面的序列是有序的,只需要把當前數插入前面的某乙個位置即可。所以如果陣列本來就是有序的,則陣列的最好情況下時間複雜度為o n 如果陣列恰好是倒 倒序,比如原始陣列...

八大排序演算法之(三)插入排序 折半插入排序

折半插入排序演算法原理 把乙個新的元素插入已經拍好順序的陣列的過程中,尋找插入位置時,將待插入區域的首元素設定為a left 末元素設定為a right 比較時,將待插入元素與a mid 其中mid left right 2相比較,如果比參考元素小,則選擇a left 到a mid 1 為新的插入區...