继上篇 "排序算法(一) - 基础篇" 这篇博客咱们聊聊插入排序;
经常用的插入排序方法有直接插入排序,折半插入排序,表插入排序和希尔排序。
这篇博客咱们重点说一下直接插入排序;
直接插入排序(Straight Insertion Sorting)它是一种简单的排序方法。
基本思想:
依次将每个记录插入到一个已经排好序的有序表中去,从而得到一个新的,记录数增加“1”的有序表。
个人理解:
就像在一个容器里有一堆大小不一的数字,现在将他们一个一个的拿到另一个容器里,目的是从小到大排好序规整一下。
接下来呢,放几张图片过来,更加有利于理解,真的非常简单。
图一:
这张图片够意思吧。【】里面的数字看着比较爽一点
图二:
到这里也就不过多的说什么了,想必数字都是怎么走的也都很清楚了。
最后结个尾;
直接插入排序的算法简单,易于理解,容易实现,时间复杂度为 O(N2),如果待排序记录的数量很大时,一般不会选用直接插入排序。从空间上看,它只需要一个记录的辅助空间,即空间复杂度为 O(1)。直接插入排序方法是稳定的。