幾種常用的排序方法1 插入排序

2022-08-11 11:42:15 字數 376 閱讀 4046

插入排序

插入排序是一種非常簡單的排序方法,其演算法思路是:將乙個記錄插入到已經排好的有序表中,從而得到乙個新的,記錄數加1的有序表。其實這種思想有點數學歸納法的味道,就是說 ①:如果只有乙個數,那肯定是排好的;②假設是有序的,那麼將a(i+1)按照演算法插入其中,也肯定是乙個新的有序的數列,數列長度加1。

1

void insertion_sort_up(int a,intn)2

12 a[i+1] = key; //

將數填入空當中

13}

14 }

ps:①插入排序還有很多變種,這裡不再說了。

②平均來說插入排序演算法的時間複雜度為o(n^2)。

常用排序演算法 1 插入排序

插入演算法 基本插入 把要排序的數列分層兩部分 第一部分包含了數列除最後乙個元素外的所有元素,而第二部分僅包含數列的最後乙個元素,再把這個最後元素插入到此刻已經是有序的第一部分裡的正確位置,保證插入後數列的有序性。時間複雜度最好為o n 最壞o n 2 平均o n 2 空間複雜度o 1 插入排序包括...

排序1 插入排序

讓我們開始排序的學習吧,首先我們先理解一下插入排序的基本思想 每一趟將乙個待排序的記錄,按其關鍵字的大小插入到已經排好序的一組記錄的適當位置上,知道所有待排序記錄全部插入為止。這個可能會和選擇排相似,但是那個是設定最大或最小,然後依次找到最大或最小插入到特定位置,而選擇依次比較後移或前移,不要混淆哦...

排序1 插入排序

排序1 插入排序 以從小到大排序為例 重點關注各種排序時間複雜度,空間複雜度,已經有序的時間空間複雜度,穩定性的對比 1.1原理 舉例說明更清晰 設原資料 5 9 4 7 2 移動後面資料 for int k i 1 k j k 插入資料 arr j tmp 1.3評價 時間複雜度 o n 2 空間...