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
- 03-插入排序(python、oc)排序Python
- Python進階-演算法-插入排序Python演算法排序
- python演算法 - 插入排序演算法Python演算法排序
- [java]插入排序及折半插入排序Java排序
- 三種插入排序 直接插入排序,折半插入排序,希爾排序排序
- 插入排序排序
- 資料結構--排序--插入排序--python語言描述資料結構排序Python
- 插入排序排序排序
- 03 插入排序排序
- python演算法與資料結構-插入排序(34)Python演算法資料結構排序
- JavaScript ,Python,Go,java,C#系列演算法之【插入排序】JavaScriptPythonGoC#演算法排序
- Python演算法之---冒泡,選擇,插入排序演算法Python演算法排序
- 數的插入排序排序
- 插入排序(PHP,C)排序PHP
- 排序之插入排序排序
- 如何理解插入排序?排序
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- 連結串列-插入排序排序
- 插入排序以及優化排序優化
- 插入排序(Insertion Sort)排序
- 直接插入排序排序
- JavaScript實現:插入排序!!!JavaScript排序
- 【演算法】插入排序演算法排序
- 【筆記】折半插入排序筆記排序
- 【筆記】表插入排序筆記排序
- 插入排序java實現排序Java
- 用JavaScript實現插入排序JavaScript排序
- 常用演算法-插入排序演算法排序
- 排序專題 -- (1)插入排序排序
- 選擇排序和插入排序排序
- 插入排序(java機試題)排序Java
- 直接插入排序法排序
- 排序演算法——插入排序排序演算法
- 實時插入排序演算法排序演算法
- 排序演算法__折半插入排序排序演算法
- rust-algorithms:1-插入排序RustGo排序
- 插入排序就這麼簡單排序