[11_sorts] insertion sort, done.
This commit is contained in:
parent
26e7806bcf
commit
fb6047f070
@ -54,4 +54,18 @@
|
||||
|
||||
## 插入排序
|
||||
|
||||
![图片测试](https://static001.geekbang.org/resource/image/7b/a6/7b257e179787c633d2bd171a764171a6.jpg)
|
||||
1. 将待排序数列分为已排序区间和未排序区间
|
||||
2. 取未排序区间的第一个元素
|
||||
3. 遍历已排序区间,按照偏序关系,寻找合适的位置,插入未排序区间的第一个元素
|
||||
4. 重复 2 -- 3 直至未排序区间长度为零
|
||||
|
||||
![插入排序例图](https://static001.geekbang.org/resource/image/fd/01/fd6582d5e5927173ee35d7cc74d9c401.jpg)
|
||||
|
||||
分析:
|
||||
|
||||
* 原地排序
|
||||
* 稳定排序(值相同的元素,往后插)
|
||||
* 时间复杂度
|
||||
* 最好 $O(n)$
|
||||
* 最坏 $O(n^2)$
|
||||
* 平均 $O(n^2)$(乘法法则)
|
||||
|
Loading…
Reference in New Issue
Block a user