算法排序

Posted nerocm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法排序相关的知识,希望对你有一定的参考价值。

II.插入排序

 

原理

将原无序的列表分成两个部分,一部分为原遗留的无序,和另一部分新组成的有序。在每取出首元素组成新列表中,在新的列表中进行判定大小来确定顺序。

实验步骤

 步骤一,选出列表中首位元素,组成新的有序列表首位

技术分享图片

 

步骤二,在剩余的列表中,再次选出首位元素,组成新的有序列表

  技术分享图片

 

 

步骤三,每个选取的元素,在组成新列表元素时需按照依序在新列表中比较,找到合适位置后插入,至到原列表中最后全部完成。

技术分享图片

 

 代码实践

def insert_sort(rlist):
    for i in range(1,len(rlist)):
        for j in range(i,0,-1):
            if rlist[j]< rlist[j-1]:
                rlist[j],rlist[j-1] = rlist[j-1],rlist[j]

rlist = [12,23,45]
insert_sort(rlist)

 

以上是关于算法排序的主要内容,如果未能解决你的问题,请参考以下文章

算法排序之堆排序

快速排序-递归实现

从搜索文档中查找最小片段的算法?

在第6731次释放指针后双重免费或损坏

TimSort算法分析

以下代码片段的算法复杂度