二分查找的平均查找长度

二分查找的平均查找长度

对二分查找的平均查找长度进行简单分析。

向作出假设:要查找的元素在数组内,数组长度为 n n n. 约定对长度为 n n n 的数组,平均查找长度为随机变量 C n C_n Cn,随机变量 I n I_n In 定义如下

I n = { 1 要 查 找 的 关 键 字 是 这 个 长 度 为 n 的 数 组 的 中 间 的 关 键 字 0 o t h e r w i s e , I_n=\left\{ \begin{matrix} 1 & 要查找的关键字是这个长度为 n 的数组的中间的关键字\\ 0 & \mathrm{otherwise} \end{matrix} \right., In={10notherwise,

那么

C n = I n + ( 1 − I n ) ( C n / 2 + 1 ) , C_n=I_n+(1-I_n)(C_{n/2}+1), Cn=In+(1In)(Cn/2+1),

取其期望值

E ( C n ) = 1 n + ( 1 − 1 n ) E ( C n / 2 + 1 ) < 1 n + 1 + E ( C n / 2 ) , E(C_n)=\frac1n+\left(1-\frac1n\right)E(C_{n/2}+1)<\frac1n+1+E(C_{n/2}), E(Cn)=n1+(1n1)E(Cn/2+1)<n1+1+E(Cn/2),

展开

E ( C n ) = 1 + ⋯ + 2 ⌊ log ⁡ n ⌋ n + ⌊ log ⁡ n ⌋ + c = Θ ( log ⁡ n ) . E(C_n)=\frac{1+\cdots+2^{\lfloor\log{n}\rfloor}}n+\lfloor\log{n}\rfloor+c=\Theta(\log {n}). E(Cn)=n1++2logn+logn+c=Θ(logn).

简单分析,还有很多不完备的地方。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值