算法简介
插入排序
1. 介绍
这里就不多说了,网上大佬介绍的很多
2. 解决问题
- 排序问题
3. 时间复杂度:
- 最坏和平均的时间复杂度均为:O(N^2)
- 稳定排序
4. 算法思想:
- 插入排序将数列划分为"已排序的"和"未排序的"两部分,每次从"未排序的"元素中选择一个插入到"已排序的"元素中的正确位置
5. 算法特点:
- 插入排序第一趟是将第一个元素视为有序,从第二个元素(索引为i)开始与它的前一个元素比较,如果比它前一个元素小(升序),就将arr[i]临时存放,将i前面比arr[i]大的元素往后移动一位,直到前一元素比arr[i]小,最后将arr[i]插入到正确位置
- 把数拿出来(产生坑)->比较->把数放回去(填坑)
- 在数列几乎有序的时候效率很高