在开始今天之前,先来看看影片(约2分钟)吧!
插入排序是从数列的左边开始,往右往右依次排序下去。过程中,左边的数一一完成排序,右边剩下尚未确认的数。在右边尚未搜寻的领域中取出一个数,插入已排序完成的领域中的适当位置。
若取出的数比排序完成领域中的所有的数都小,这个数移动到最左边之前,要进行比较和对调,第k回合必须进行k-1次的比较和对调的操作,因此最糟情况是第n回合发生n-1次的比较和对调,所以执行时间和气泡排序及选择排序一样是O(n^2)
import random
#从1-100中随机读取9个数字
nums = random.sample(range(1,100), 9)
print(nums)
# i控制j的上限值
for i in range(1, 9):
#初始化变数nums[i]
insert = nums[i]
j = i-1
#内层回圈从i-1到0,每次递减1
while j>=0:
if insert < nums[j]:
nums[j+1]=nums[j]
else:
break
j = j-1
#将变数insert储存到nums[j+1]
nums[j+1]=insert
print("插入排序执行次数为:", i ,"次")
for item in nums:
print(item,' ',end="")
插入排序法的最佳情况与最差情况:
最佳情况:
最差情况:
<<: [Day11] 文本/词表示方式(二)-BOW与TFIDF
>>: [Day9] Reactstrap = Bootstrap in React,你看离 React 越来越近了吧
今天介绍一下单选的列表 透过简单的程序码就可以做出一个清晰易懂的选择表单 那就马上附上我的程序码~ ...
Reverse ,看似一个简单的功能,但它却出现在许多公司的面试题库。 那我们直接来看它是如何实现的...
第五天,星期日放假日,好像已经习惯了每日发一文章的习惯了~ 参考的资料来源一样是 day 4 的「O...
若有一点程序语言的基础就会知道,在C语言中,有着用来存放资料的方法,叫做阵列(array),没学过的...
上一篇介绍了Die Game,是一题判断骰子数字的题目,由於题目是中文,并且把解题丝路都跟你讲了,所...