資料結構--排序--插入排序--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 語言描述】資料結構演算法
- AVL 樹 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 伸展樹 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 棧 ADT 【資料結構與演算法分析 c 語言描述】資料結構演算法
- 04資料結構排序演算法之直接插入排序資料結構排序演算法
- 資料結構與演算法分析(c 語言描述)習題 1.2資料結構演算法
- 資料結構與演算法分析(c 語言描述)習題 1.3資料結構演算法
- 資料結構與演算法分析(c 語言描述)習題 1.1資料結構演算法
- 佇列 ADT 【資料結構與演算法分析 c 語言描述】佇列資料結構演算法
- C語言版資料結構及演算法_快速排序C語言資料結構演算法排序
- 三言兩語講排序演算法——插入排序排序演算法
- C語言例題19:折半插入排序C語言排序
- 資料結構(python) —— 【18排序: 桶排序】資料結構Python排序
- 重學資料結構和演算法(四)之氣泡排序、插入排序、選擇排序資料結構演算法排序
- python插入排序Python排序
- 演算法與資料結構系列 ( 四 ) - 插入排序法- Insert Sort演算法資料結構排序
- 資料結構與演算法分析(c 語言描述)最大子序列和問題資料結構演算法
- 雜湊表 ADT 分離連結法【資料結構與演算法分析 c 語言描述】資料結構演算法
- 棧的應用之平衡符號 【資料結構與演算法分析 c 語言描述】符號資料結構演算法
- 插入排序-by-Python排序Python
- 資料結構與演算法分析(c 語言描述)多項式 ADT 單連結串列實現資料結構演算法
- 資料結構 順序棧(c語言)資料結構C語言
- 資料結構雜湊表(c語言)資料結構C語言
- 演算法與資料結構系列 ( 五 ) - 插入排序法改進- Insert Sort演算法資料結構排序
- Kenneth A.Lambert著的資料結構(用python語言描述)的第一章課後程式設計答案資料結構Python程式設計
- 資料結構與演算法分析(c 語言描述)多項式 ADT 陣列實現資料結構演算法陣列
- [資料結構與演算法]-排序演算法之插入排序(insertion sort)及其實現(Java)資料結構演算法排序Java
- 資料結構與排序資料結構排序
- 資訊學奧賽複賽複習13-CSP-J2021-02插入排序-排序穩定性、插入排序、sort排序、結構圖、計數排序排序
- 連結串列-插入排序排序
- 資料結構C語言|佇列相關資料結構C語言佇列
- python演算法與資料結構-快速排序(36)Python演算法資料結構排序
- 重學C語言_資料結構與基礎語法C語言資料結構
- 用c語言實現資料結構——單連結串列C語言資料結構
- 資料結構——單連結串列介面實現(C語言)資料結構C語言