資料結構--排序--插入排序--python語言描述
資料結構
排序
插入排序
1、描述:將一條待排序的記錄按照其關鍵字值的大小插入已排序記錄序列中的正確位置,依次重複,直到全部記錄都插入完成。
2、python程式碼如下:
# -*- coding: utf-8 -*
#插入排序的函式,a為list型別
def InsertSort(a):
for i in range(1,len(a)):
p=i
j=i-1
while j>=0:
if a[p]<a[j]:
q=a[j+1]
a[j+1]=a[j]
a[j]=q
j-=1
else:
break
p=j+1
return a
#測試案例
a=[2,45,36,72,34]
print InsertSort(a)
3、返回結果:
[2, 34, 36, 45, 72]
4、演算法效能
時間複雜度:O(n^2)
空間複雜度:O(1)
相關文章
- 複習資料結構:排序(一)——插入排序資料結構排序
- python演算法與資料結構-插入排序(34)Python演算法資料結構排序
- 【資料結構】直接插入排序資料結構排序
- 資料結構與演算法分析(c 語言描述)基數排序 陣列實現資料結構演算法排序陣列
- 基數排序-單連結串列實現【資料結構與演算法分析(c 語言描述)】排序資料結構演算法
- 樹 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 資料結構&演算法實踐—插入排序資料結構演算法排序
- 【資料結構】直接插入排序_哨兵位資料結構排序
- 資料結構學習(C++)續——排序【2】插入排序 (轉)資料結構C++排序
- AVL 樹 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 伸展樹 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 04資料結構排序演算法之直接插入排序資料結構排序演算法
- 資料結構與演算法分析(c 語言描述)習題 1.2資料結構演算法
- 資料結構與演算法分析(c 語言描述)習題 1.3資料結構演算法
- 資料結構與演算法分析(c 語言描述)習題 1.1資料結構演算法
- 棧 ADT 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 資料結構(python) —— 【18排序: 桶排序】資料結構Python排序
- C語言版資料結構及演算法_快速排序C語言資料結構演算法排序
- 直接插入排序java描述排序Java
- 三言兩語講排序演算法——插入排序排序演算法
- 佇列 ADT 【資料結構與演算法分析 c 語言描述】佇列資料結構演算法
- C語言例題19:折半插入排序C語言排序
- 資料結構之---C語言實現快速排序(多個版本)資料結構C語言排序
- 重學資料結構和演算法(四)之氣泡排序、插入排序、選擇排序資料結構演算法排序
- C語言_資料結構和演算法之_排序和查詢C語言資料結構演算法排序
- 資料結構與演算法分析(c 語言描述)最大子序列和問題資料結構演算法
- python插入排序Python排序
- 演算法與資料結構系列 ( 四 ) - 插入排序法- Insert Sort演算法資料結構排序
- 棧的應用之平衡符號 【資料結構與演算法分析 c 語言描述】符號資料結構演算法
- 資料結構雜湊表(c語言)資料結構C語言
- 資料結構 順序棧(c語言)資料結構C語言
- 程式語言基本組成:資料結構資料結構
- 雜湊表 ADT 分離連結法【資料結構與演算法分析 c 語言描述】資料結構演算法
- 資料結構與排序資料結構排序
- 【資料結構】希爾排序!!!資料結構排序
- 【資料結構】希爾排序資料結構排序
- 【資料結構】堆排序資料結構排序
- 【資料結構】快速排序資料結構排序