Python 插入排序

2021-07-22 20:52:32 字數 928 閱讀 2232

本博文示例為自己指定一定範圍,生成指定個數的隨機數,再對生成的隨機數進行排序,並記錄排序所花時間。

生成指定範圍、指定個數隨機數**:

import random

def generate_point_range(gene_size, min_val, max_val):

num_list =

i = 0

while i < gene_size:

i += 1

return num_list

插入排序**:

import randomgenerate

import time

def insert_sort(num):

start_time = time.time()

num_len = len(num)

for i in range(1, num_len):

key = num[i]

j = i - 1

while j >= 0:

if num[j] > key:

num[j+1], num[j] = num[j], key

j -= 1

print 'insert sort used:', time.time() - start_time, 's'

return num

def main():

num = randomgenerate.generate_point_range(100, 0, 1000)

print 'before sort:', num

insert_sort(num)

print 'after sort', num

if __name__ == "__main__":

main()

python 插入排序

coding utf 8 def insertsort list list 4,1,9,13,34,26,10,7,4 m len list 元素個數 for i in range m 對每乙個元素 min i 當前元素索引 for j in range i 1,m 遍歷後面的所有元素,尋找最小的值...

Python 插入排序

把第乙個數固定,然後將其它數插入,小的放前面。備份這個後續插入的數,然後將這個數和前面的數作比較,比前面的數小,就將前面的數後移。這樣相當於前面的數就挪出乙個空,如果再往前沒有比它小的了,就把開始備份好的數填進去。插入排序,穩定,平均和複雜都是o n2 o n 2 def insert sort l...

python 插入排序

時間複雜度為o n 2 基本思想就是將無序序列插入到有序序列中。例如要將陣列arr 4,2,8,0,5,1 排序,可以將4看做是乙個有序序列 圖中用藍色標出 將 2,8,0,5,1 看做乙個無序序列。無序序列中2比4小,於是將2插入到4的左邊,此時有序序列變成了 2,4 無序序列變成了 8,0,5,...