折半插入排序比较次数时间复杂度
折半插入排序 — 插入第N个数时比较次数时间复杂度O(nlog2(n)):
根据算法思想有以下的推论:
每个数插入最多走了一个判定树的深度
即log2(n-1)(取最少正整数)+1
解析:在有序数组中插入的数每次比较都是与Mid(Mid指向待比较数组中的中间位置)所指向的数进行对比,先将有序数组转化成类似判定树的二叉树形式,可以得出比较的次数最多只能是这一棵二叉树的深度。
示例:
假设一组有序数组:1 2 3 4 5 6 7 8 9 (注意已经选过的Mid不再重选)
第一次Mid:
low=1,high=9,所以Mid=(low+high)/2=5
建立二叉树的根
⑤
第二次Mid:
在5的左边low=1 high=4 Mid=(low+high)/2=2
在5的右边low=6 high=9 Mi

本文详细探讨了折半插入排序在插入第N个数时的时间复杂度,通过建立类似判定树的二叉树模型,展示了比较次数最多不超过二叉树的深度,即log2(N-1)+1。通过实例解释了比较过程,并指出总时间复杂度为O(nlog2(n))。
最低0.47元/天 解锁文章
3755





