1 插入法排序
算法思想:
逐个处理待排序的记录,每个记录都要与前面那些已排好序的记录进行比较,然后插入到适当的位置。
算法分析:
稳定
空间代价 O(1)
时间代价:
最佳情况:O(n)
最差情况:O(n^2)
平均情况:O(n^2)
2 插入法排序的优化(使用二分法查找被插元素的正确的位置)
算法思想:
在插入第i个记录时,前面的记录已经是有序的了,可以用二分法查找第i个记录的正确位置。
算法分析:
稳定
空间代价:O(1)
时间代价:
插入每个元素都需要O(logi)次比较
最多移动I+1次,最少两次
最佳情况的时间代价为:O(n*logn)
最差和平均情况的时间代价O(n^2)