[toc]

插入排序

插入排序 ( 英语: Insertion sort ) 是一种简单直观的排序算法. 它的工作原理是通过构建有序序列, 对于未排序数据, 在已排序序列中从后向前扫描, 找到相应位置并插入. 插入排序在实现上, 在从后向前扫描过程中, 需要反复把已排序元素逐步向后挪位, 为最新元素提供插入空间.

插入排序分析

数据结构 第五节 第四课_升序

代码实现:

数据结构 第五节 第四课_插入排序_02

代码改进:

数据结构 第五节 第四课_插入排序_03

测试代码:

数据结构 第五节 第四课_升序_04

执行结果:

数据结构 第五节 第四课_时间复杂度_05

时间复杂度:

最优时间复杂度: O(n) ( 升序排列, 序列已经处于升序状态 )

最坏时间复杂度: O(n^2) 

稳定性: 稳定

插入排序演示:

数据结构 第五节 第四课_插入排序_06