标签:insert pytho inf 算法 div import nbsp 有序 构建
通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入;
由于不需要全部都比较完,所以排序速度优于冒泡和选择排序。
#插入排序就像是斗地主摸牌
#kumata‘s code #算法时间复杂度O(n^2) #从小到大排 import time def insert_sort(nums): start = time.time() #一张张摸牌,拿到手中 for sort_inx in range(1,len(nums)): #从1开始 unsort_inx = sort_inx #当需要排序的index大于0且未排index前一个大于后一个时: while unsort_inx > 0 and nums[unsort_inx - 1] > nums[unsort_inx]: #前后交换 nums[unsort_inx - 1], nums[unsort_inx] = nums[unsort_inx], nums[unsort_inx - 1] unsort_inx = unsort_inx - 1 #unsort下标更新 t = time.time() - start return nums,t lis = [1,2,5,8,4,3,6] insert_sort(lis)
输出结果:
([1, 2, 3, 4, 5, 6, 8], 0.0)
标签:insert pytho inf 算法 div import nbsp 有序 构建
原文地址:https://www.cnblogs.com/kumata/p/9119606.html