二分排序(折半插入排序)探究
算法思想:
二分法插入排序是在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比。如果小,则对前半再进行折半,否则对后半进行折半,直到left>right。然后再把第i个元素前1位与目标位置之间的所有元素后移,最后把第i个元素放在目标位置上。
具体实现如下(Java):
额外说明:
二分排序的时间复杂度是O(n^2),
空间复杂度O(1),属于稳定排序。
二分法插入排序是在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比。如果小,则对前半再进行折半,否则对后半进行折半,直到left>right。然后再把第i个元素前1位与目标位置之间的所有元素后移,最后把第i个元素放在目标位置上。
二分排序的时间复杂度是O(n^2),
空间复杂度O(1),属于稳定排序。