在看二叉排序树查找分析时,对“二叉排序树查找不成功的平均查找长度”不是很理解,上网查了一下,稍微小结一下:

假如一棵二叉排序树如下:

那么查找不成功的平均查找长度是:(2*2+3*3+4*2)/7=21/7

比如说一个数如果比62<x<74,那他应该是在74左接点,但是现在74左接点不存在,所以查找不成功,那么就是查找了2次。

你再查找x>74的接点,他应该是在74右接点上,但是不存在,也是两次。所以由于74左右孩子不存在,查找62<x<74和x>74的总次数是2*2

15的左右孩子不存在,当查找x<15和15<x<30查找的次数是2*3,56右孩子不存在,查找的次数是1*3,而2*3+1*3=3*3。

48左右孩子都不存在,所以查找不成功的次数是4*2。

查找不成功的可能性有7种,即 x<15,15<x<30,30<x<48,48<x<56,56<x<62,62<x<74,x>74。

假设这7种可能性相同的话,不成功时平均查找长度为:(2*2+3*3+4*2)/7=21/7。

转载于:https://www.cnblogs.com/wangaohui/archive/2012/12/16/2820451.html

二叉排序树查找不成功的平均查找长度相关推荐

  1. 哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算

    最近复习了下数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时比较迷茫,不知道到底是怎么计算出来的.现在通过查阅资料终于知道如何计算了,所以记录下来以供以后查阅. 下面看下2010年 ...

  2. Hash表查找成功和查找不成功的平均查找长度(附总结)

    Hash表的平均查找长度包括查找成功时的平均查找长度和查找失败时的平均查找长度. 查找成功时的平均查找长度=表中每个元素查找成功时的比较次数之和/表中元素个数: 查找不成功时的平均查找长度相当于在表中 ...

  3. 哈希表查找——等概率情况下查找成功和查找不成功的平均查找长度的计算

    最近复习数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时不太理解,不知道到底是怎么计算出来的.看了几篇博客后终于知道如何计算了,总结如下. 例题: 将关键字序列(7.8.30.11 ...

  4. 计算散列表查找成功和查找不成功的平均查找长度(利用线性探测法处理冲突)

    散列表 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.映射函数叫做 ...

  5. 二叉排序树(查找树)的平均查找长度

    如图所示的二叉排序树 查找成功的平均查找长度为:∑(本层高度*本层元素个数)/节点总数=(1*1+2*2+3*3+3*4)/9 查找不成功的平均查找长度:∑(本层高度*本层补上的叶子个数)/补上的叶子 ...

  6. 哈希表:线性探测法和链地址法求查找成功与不成功的平均查找长度

    哈希表:线性探测法和链地址法求查找成功与不成功的平均查找长度 了解ASL的公式 线性探测法求ASL 链地址法求ASL 了解ASL的公式 查找成功时:ASL =1n\frac{1}{n}n1​ ∑i=1 ...

  7. 折半查找判定树及平均查找长度

    折半查找判定树及平均查找长度 从折半查找的过程看,以有序表的中间记录作为比较对象,并以中间记录将表分割为两个子表,对子表继续上述操作.所以,对表中每个记录的查找过程,可用二叉树来描述,二叉树中的每个结 ...

  8. 折半查找判定数及平均查找长度(一定要看这 能看懂的)

    折半查找判定数及平均查找长度 折半查找的过程看,可用二叉树来描述,二叉树中的每个结点对应有序表中的一个记录,结点中的值为该记录在表中的位置.通常称这个描述折半查找二叉树的过程称为折半查找判定树. 例如 ...

  9. 如何计算哈希表查找失败时的平均查找长度

    题目描述: 1.请回答采用线性探测再散列和链地址法处理冲突构建的哈希表中,查找失败时的平均查找长度如何计算? 例:已知一组关键字(19,14,23,1,68,20,84,27,55,11,10,79) ...

最新文章

  1. 打脸!一个线性变换就能媲美“最强句子embedding”?
  2. 总结的若干关于RecursionError: maximum recursion depth exceeded问题的解决办法
  3. Qt工作笔记-对QThread使用的进一步认识(exec及对象在哪个线程创建)
  4. 【原】vue-router中params和query的区别
  5. ListView原理
  6. 误删D盘数据怎么办?推荐使用数据恢复软件EasyRecovery
  7. 【图像融合】基于matlab GUI拉普拉斯金字塔+小波变换图像融合【含Matlab源码 857期】
  8. 【UVA725】Division(暴力求解--水题)
  9. 【CodeVS 1222】信与信封的问题 随机化+treat Hungery
  10. docker curl: (56) Recv failure: Connection reset by peer问题解决方法
  11. CSS3笔记(菜鸟教程)
  12. 在线JSON转换成Excel文件工具
  13. Windows操作系统截屏快捷键
  14. 2022年执法资格刑侦执法考试多选题专项训练题及答案
  15. Hadoop安装(二) --- Hadoop安装
  16. ▷Scratch资讯丨华为达芬奇计划
  17. C++线性代数库armadillo
  18. python入门代码指南教程书籍推荐2020总结全集汇总
  19. 如何设计一个落地页,才算得上是一个好的落地页?
  20. 大数据技术原理与应用(7-11)-TYUT

热门文章

  1. Python抓取单个网页中所有的PDF文档
  2. 使用Google App Engine开始新的网站开发学习
  3. fglrx 9.8与kernel 2.6.30
  4. mfc连接mysql增删改查_java实现mysql数据库增删改查
  5. CTF入门--题目介绍
  6. (136)System Verilog覆盖组参数传递实例
  7. 纯英文换行的css,利用CSS实现纯英文数字自动换行
  8. java 0x5_java - 从Java中的COM端口读取,错误0x5在.. \ rxtx \ src \ termios.c(892) - 堆栈内存溢出...
  9. QCostomPlot 示例注解 2
  10. 5004. boost 源码编译vs2019