算法系列之插入排序

Posted 跟马哥学编程

tags:

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

算法系列之插入排序算法系列之插入排序


算法系列之插入排序
更多精彩,请点击上方蓝字关注我们!

01

基本概念

算法系列之插入排序

     插入排序算法为《数据结构和算法》的知识范畴,由于该算法的核心理念是将样本数列中每个元素取出并插入到适当的位置从而完成排序,因此得名为"插入排序"。


02

算法流程

    若只看第一个元素,则可以认定该元素已经有序。

    取出下一个元素,使用取出的元素与左边的有序数列从右向左依次比较。

    若取出的元素小于左边的元素则将左边的元素右移,也就是赋值到下一个位置。

    若取出的元素大于等于左边的元素,则将取出的元素插入到左边元素的右边。

    重复步骤b,直到处理完毕所有元素为止。


03

算法分析

算法系列之插入排序

04

编程实现

算法系列之插入排序

05

算法优化

       上述代码实现已经完成了插入排序的功能,但若被该算法处理的样本数列已经是从小到大排列却不知情的情况下,由上述算法处理时会出现多次元素自己给自己赋值的情况,因此应该对此算法进行优化处理,减少赋值的次数从而提高算法的性能,具体方式如下:

算法系列之插入排序

06

结束语

     本文介绍的插入排序属于稳定的排序算法,希望通过我的讲解大家能够深刻理解并掌握此算法。

        由于本人周一到周五全天授课,因此一周发文一篇,量不在多而在于精,有希望更快更多学习的小伙伴欢迎来现场感受小马哥的魅力。

      小马哥专业扫盲很多年,不怕学不会就怕你不学,欢迎随时来勾搭


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

基础算法系列之排序算法-3. 直接插入排序

排序系列 之 折半插入排序算法 —— Java实现

排序系列 之 直接插入排序算法 —— Java实现

经典排序算法系列之插入排序和希尔排序----小白理解(python)

算法排序算法之插入排序

经典算法系列之:插入排序