算法系列之插入排序

算法系列之插入排序

01

基本概念

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

02

算法流程

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

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

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

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

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

03

算法分析

04

编程实现

05

算法优化

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

06

结束语

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

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180805G10ZH500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券