本博文示例為自己指定一定範圍,生成指定個數的隨機數,再對生成的隨機數進行排序,並記錄排序所花時間。
生成指定範圍、指定個數隨機數**:
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,...