插入法排序
插入法理解:
插入排序与扑克牌的插入类似。就是一开始从第二个抽出一个数与前面的数字进行比较。每抽取的一个数和前面比较的话可以理解为一个循环过程。由此可以知道每个插入排序会有(数量-1)个循环。
每个排序最坏情况下(就是顺序变逆序,或逆序变顺序)又会有1,2,3,4…所以最坏情况下的移动总次数为: (n * n) / 2
名称 | 最好情况 | 最好情况 |
比较次数 | n - 1 | (n^2+n-2) |
移动次数 | 0 | n^2 / 2 |
借鉴思路,原创代码
我的思路总结
属性知识总结
名称 | 平均时间复杂度 | 最好情况 | 最坏情况 | 空间复杂度 | 稳定性 |
插入排序 | O(n^2) | n | n^2 | 1 | 稳定 |
这里是插入法排序的代码
package cn.mzy.sort;
import java.text.SimpleDateFormat;
import java.util.Date;
public class InsertTestDemo {
public