演算法 插入排序

2021-07-05 00:18:44 字數 805 閱讀 8836

輸入:n個數的序列(a1

, a2

,a3 ….an

)輸出:輸出序列(a′

1 , a′

2 ,a′

3 ….a′

n ),滿足a′

1 < a′

2 3 ….

n 這個演算法類似於打撲克,假設只有a-k哈,摸一張,放好,在摸一張,跟第一張比對,如果大就放在後面(這個根據個人習慣),如果小就放在前面,以此類推。下圖是書中插入演算法的**。

空間複雜度: o(

1)時間複雜度: o(

n2) (最壞情況)

#實現插入排序
definsertion_sort

(a):

#a是乙個陣列

1、《演算法導論》第三版

2、《python核心程式設計》第二版

插入排序演算法

插入排序演算法 思想 把排序過程看作是序列單個有序擴充套件為整體有序的過程,即首先取序列第二個元素與第乙個元素比較,將其插入合適位置,再將第三個元素與前兩個元素比較,將其插入合適位置,如此進行,直到最後取第n個元素與前n 1個元素進行比較並將其插入合適位置。演算法 建立日期 2004 12 14 插...

演算法 插入排序

include include 插入排序 n 2為的效率。具體思想 將陣列分為兩部分,一部分是有序的,一部分為無序的 然後從無序中選取乙個數插入在有序的數中的恰當的位置,以此迭代,直到無序的數全部遍厲完畢 void insert sort int a,int n a j tmp break retu...

插入排序演算法

下面這段話摘自 一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置 將...