算法插入排序法 | 排序

Posted 鸡翅编程

tags:

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


插入排序

- Insert Sort -



排序算法是算法领域十分经典的一类算法,它的名字通俗易懂:给数字排序,让一组无序的数据通过排序算法后,能增序或者降序地输出。

      排序算法有很多种,本文来详细讲讲 "插入排序法"。

(本文均是增序排序,降序排序同理即略)



No.1

算法理解


其实插入排序法很好理解,就像打牌时整理手上一堆无序的牌:将待排序的牌一一插入已排序中的合适位置。

如下图,就是将待排序的 7 插入已排序的 2 4 5 10的牌堆中。

如下图,1 7 8 13是已经排序好的部分,取出未排序的6,将其插入已排序的堆中。

需要先找到插入位置再将插入位置之后的元素都向后移动一格,然后就能插入6了。

【算法】插入排序法 | 排序

按照上面的方法,初始时所有的数字只有第一个是已排序的,后面均视为未排序部分。将未排序的数字一一插入已排序的合适位置,即完成了插入排序。


No.2

算法剖析


我们将待排序的 n 个数字均存在数组中,数组从下标 0 开始到 n - 1 结束。


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

算法大神之路----排序(插入排序法)

算法 之 插入排序法

重温基础算法内部排序之插入排序法

算法学习之排序算法(直接插入排序法)

三大基础排序算法(冒泡排序,选择排序,插入排序)

php 四种基础算法 ---- 插入排序法