二分查找的平均查找长度

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

向作出假设:要查找的元素在数组内,数组长度为 nnn. 约定对长度为 nnn 的数组,平均查找长度为随机变量 CnC_nCn​,随机变量 InI_nIn​ 定义如下

In={1要查找的关键字是这个长度为n的数组的中间的关键字0otherwise,I_n=\left\{ \begin{matrix} 1 & 要查找的关键字是这个长度为 n 的数组的中间的关键字\\ 0 & \mathrm{otherwise} \end{matrix} \right., In​={10​要查找的关键字是这个长度为n的数组的中间的关键字otherwise​,

那么

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

取其期望值

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

展开

E(Cn)=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+⋯+2⌊logn⌋​+⌊logn⌋+c=Θ(logn).

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

二分查找的平均查找长度相关推荐

  1. 二分查找的平均查找长度_二分查找(折半查找)代码实现

    整理不易,手有余香请点赞! 折半查找,也称二分查找,在某些情况下相比于顺序查找,使用折半查找算法的效率更高.但是该算法的使用的前提是静态查找表中的数据必须是有序的. 在折半查找之前对查找表按照所查的关 ...

  2. [时间复杂度]为什么采用二叉排序树查找的平均查找长度为O(log2n)

    ###二分法求数值x的整数n次幂 有没有O(log n)的方法呢?得二分思想了.这里的二分是指减少乘法的次数,把重复的运算省去.我要求x的n次方,那么先求x的n/2次方,然后两个相乘起来.如此递归下去 ...

  3. 散列表查找失败平均查找长度

    如果你看了很多其他博客然后都看不懂看到了这篇,你一定可以容易懂的!我佛了,这么简单的东西死板地讲题目不讲原理鬼看得懂啊,这种风气真的不行,我忍不住想骂一声垃圾,啥玩意儿,误人子弟!原理懂了啥题不会做? ...

  4. 数据结构 顺序查找和折半查找的平均查找长度分析关于ASL(平均查找长度)的简单总结

    顺序查找 折半查找的平均查找长度分析 ASL:平均查找长度 其中n为查找表中元素个数,Pi为查找第i个元素的概率,通常假设每个元素查找概率相同,Pi=1/n,Ci是找到第i个元素的比较次数. A S ...

  5. 二分查找的平均查找长度详解【转】

    来源:http://blog.csdn.net/turne/article/details/50488378 看数据结构书的时候碰上的内容,我自己将它化成关于级数的题,然后自己算的过程,基本就是等比级 ...

  6. 二分查找的平均查找长度_二分查找

    1.什么是二分查找 数据的查找在计算机的操作中非常常见,那么我们应该怎样在计算机中实现查找操作呢? 最简单的一种方法:"傻找",也就是一个一个的找,我们把数组中的每个元素都和我们想 ...

  7. 【数据结构和算法笔记】线性表的查找(平均查找长度,二分法,判定树)

    查找: 给定一个值k,在含有n个元素的表中找出关键字等于k的元素,若找到,则查找成功,否则,查找失败 查找前首先确定(1)存放数据的数据结构是什么(2)元素是否有序 动态查找表:查找的同时做修改操作( ...

  8. 折半查找判定树 二叉排序树 查找成功平均查找长度 查找失败平均查找长度

    写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦.感激不尽!如有错误也请留言指正. 考研数据结构练习,欢迎订阅我的专辑<考研数据结构题型分类讲解练习> [哈尔滨工业大学 ...

  9. 如何计算折半查找的平均查找长度?

    首先,折半查找可以借助于一个二叉树来描述. 为了简化讨论,则把这棵树近似看成满二叉树,设二叉树的高度为h(h>1) 则,根据二叉树的性质,它有最大节点数, 则 (2是底数).那么二叉树的第j层节 ...

  10. 折半查找的平均查找次数分析

    前面我们讨论过在有序顺序表的查找树中,是最不平衡树,关键字有n个,则查找失败的结点有n+1个.把这个一般化,性质不变,也即:查找失败结点仍然是n+1个.这个性质在B树部分也是成立的,不做严格推导,只引 ...

最新文章

  1. 图灵新浪微博赠书活动
  2. Linux网络通信管理
  3. 更新源列表及设置方法
  4. 【洛谷】【动态规划/二维背包】P1855 榨取kkksc03
  5. leetcode 1047. Remove All Adjacent Duplicates In String | 1047. 删除字符串中的所有相邻重复项(Java)
  6. C++ vector容器类型
  7. 历时四年,给Google提交的Android Framework Bug终于被Fixed了
  8. 浪费了4年后,公司的产品小哥去快手搞 Java 了
  9. 程序员如何达到年薪百万?java程序员必读书籍!
  10. win11右键菜单怎么修改 Windows11修改右键菜单为win10风格的步骤方法
  11. 拓端tecdat|R语言:EM算法和高斯混合模型的实现
  12. 【Vegas原创】ctrl shift无法切换输入法的解决方法
  13. socket与模拟http请求
  14. java web 分页 基于sql 2005 数据库
  15. Bootstrap框架
  16. 考勤月度统计mysql_考勤查询统计SQL脚本
  17. 玉米社:百度SEM竞价推广的投放地域设置技巧
  18. 安卓手机做服务器(django),完成废物利用
  19. Java实现谷歌验证器
  20. 51单片机和LCD1602实现简单的密码锁

热门文章

  1. mysql 如何对集合进行遍历
  2. 如何突破编程学习的瓶颈期
  3. Linux Swap 介绍
  4. Hello Juejin
  5. 边打游戏边学编程,是一种怎样的体验?
  6. 乐动手环app下载安装_乐动健康下载app_新版本手机乐动健康手环软件下载安装 安卓版 V2.08 - 罐头安卓网...
  7. Creator 开发微信小游戏-好友排行榜
  8. ## Myql的常见命令及语法规范
  9. 【网安入门】学习笔记(一)
  10. 用python实现微信定时发送图片