Python基础排序算法之插入排序
插入排序 插入排序(Insertion Sort)的基本思想是:将列表分为2部分,左边为排序好的部分,右边为未排序的部分,循环整个列表,每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 算法分析 (1)时间复杂度 插入排序的时间复杂度为O(n^2) (2)空间复杂度 插入排序的空间复杂度为O(1) 算法特点 1.稳定排序 2.因为要进行折半查找,所以只能用于顺序结构,不能用于链式结构。 2适合初始记录无序,n较大时的情况。 程序示例: "" " 题目 : 插入排序 作者:假书生@ version : 1.0 date : 2020.01 .30 "" " import random # 导入random模块,用来生成随机数列 import time def Insertion_sort ( array ) : # 定义排序函数 for i in range ( 1 , len ( array ) ) : position = i # 刚开始往左边走的第一个位置 current_val = array [ i ] # 先把当前值存下来 while position > 0 and current_val < array [ position - 1 ] : # 当下标大于 0 并且该值小于前一个值时,进入循环 array [