python插入排序
data = [16, 25, 39, 27, 12, 8, 45, 63]
def insert():
for i in range(1, 8):
temp = data[i]
no = i - 1
while no >= 0 and temp < data[no]:
data[no + 1] = data[no]
no -= 1
data[no + 1] = temp
for j in range(8):
print(’%3d’ % data[j], end=’’)
print()
insert()
‘’’
插入排序(Insertion sort)是一種簡單直觀且穩定的排序演算法。
如果有一個已經有序的資料序列,要求在這個已經排好的資料序列中插入一個數,但要求插入後此資料序列仍然有序,
這個時候就要用到一種新的排序方法——插入排序法,插入排序的基本操作就是將一個資料插入到已經排好序的有序資料中,
從而得到一個新的、個數加一的有序資料,演算法適用於少量資料的排序,時間複雜度為O(n^2)。是穩定的排序方法。
插入演算法把要排序的陣列分成兩部分:第一部分包含了這個陣列的所有元素,但將最後一個元素除外(讓陣列多一個空間才有插入的位置),
而第二部分就只包含這一個元素(即待插入元素)。在第一部分排序完成後,再將這個最後元素插入到已排好序的第一部分中。
插入排序的基本思想是:每步將一個待排序的記錄,按其關鍵碼值的大小插入前面已經排序的檔案中適當位置上,直到全部插入完為止。
‘’’
相關文章
- 插入排序-by-Python排序Python
- Python進階-演算法-插入排序Python演算法排序
- 資料結構--排序--插入排序--python語言描述資料結構排序Python
- 三種插入排序 直接插入排序,折半插入排序,希爾排序排序
- 插入排序排序
- python演算法與資料結構-插入排序(34)Python演算法資料結構排序
- 03 插入排序排序
- 插入排序排序排序
- JavaScript ,Python,Go,java,C#系列演算法之【插入排序】JavaScriptPythonGoC#演算法排序
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- 如何理解插入排序?排序
- 插入排序(Insertion Sort)排序
- 插入排序以及優化排序優化
- 連結串列-插入排序排序
- JavaScript實現:插入排序!!!JavaScript排序
- 直接插入排序排序
- 常用演算法-插入排序演算法排序
- 排序專題 -- (1)插入排序排序
- 用JavaScript實現插入排序JavaScript排序
- 桶排序 選擇,插入排序排序
- 排序演算法__折半插入排序排序演算法
- 氣泡排序 插入排序 快排排序
- 實時插入排序演算法排序演算法
- 插入排序就這麼簡單排序
- rust-algorithms:1-插入排序RustGo排序
- PHP 演算法02之插入排序PHP演算法排序
- 圖解選擇排序與插入排序圖解排序
- 死磕演算法之插入排序演算法排序
- PHP 排序演算法之插入排序PHP排序演算法
- 排序演算法之折半插入排序排序演算法
- 小白懂演算法之插入排序演算法排序
- 複習一:陣列(4)-插入排序陣列排序
- 直接插入排序演算法排序演算法
- 從演算法開始(插入排序)演算法排序
- 從演算法開始[插入排序]演算法排序
- 排序演算法__直接插入排序排序演算法
- 排序演算法:直接插入排序排序演算法
- go 實現氣泡排序和插入排序Go排序