当前位置: 首页 > news >正文

第七章应用题

1假定对有序表:(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:

画出描述折半查找过程的判定树;

若查找元素54,需依次与哪些元素比较?

若查找元素90,需依次与哪些元素比较?

假定每个元素的查找概率相等,求查找成功时的平均查找长度。

答案:

先画出判定树如下(注:mid=ë(1+12)/2û=6):

查找元素54,需依次与30, 63, 42, 54 元素比较;

查找元素90,需依次与30, 63,87, 95元素比较;

ASL之前,需要统计每个元素的查找次数。判定树的前3层共查找12×24×3=17次;

但最后一层未满,不能用8×4,只能用5×4=20次,

所以ASL1/121720)=37/123.08

2在一棵空的二叉排序树中依次插入关键字序列为12,7,17,11,16,2,13,9,21,4,请画出所得到的二叉排序树。

        答案:

验算方法:  用中序遍历应得到排序结果:2,4,7,9,11,12,13,16,17,21

3已知如下所示长度为12的表:(Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec

试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。

若对表中元素先进行排序构成有序表,求在等概率的情况下对此有序表进行折半查找时查找成功的平均查找长度。

按表中元素顺序构造一棵平衡二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。

4对图7.31所示的3阶B-树,依次执行下列操作,画出各步操作的结果。

插入90     插入25    插入45   删除60 

                      

5设哈希表的地址范围为017,哈希函数为:Hkey=key%16。用线性探测法处理冲突,输入关键字序列:(1024321731304647406349),构造哈希表,试回答下列问题:

画出哈希表的示意图;

若查找关键字63,需要依次与哪些关键字进行比较?

若查找关键字60,需要依次与哪些关键字比较?

假定每个关键字的查找概率相等,求查找成功时的平均查找长度。

答案:画表如下:

查找63,首先要与H(63)=63%16=15号单元内容比较,即63与31比较 ,不匹配;

然后顺移,与46,47,32,17,63相比,一共比较了6次!

查找60,首先要与H(60)=60%16=12号单元内容比较,但因为12号单元为空(应当有空标记),所以应当只比较这一次即可。

对于黑色数据元素,各比较1次;共6次;

对红色元素则各不相同,要统计移位的位数。“63”需要6次,“49”需要3次,“40”需要2次,“46”需要3次,“47”需要3次,

所以ASL=1/11623×3+6)=23/11

6设有一组关键字(901231455208427),采用哈希函数:H(key)=key %7 ,表长为10,用开放地址法的二次探测法处理冲突。要求:对该关键字序列构造哈希表,并计算查找成功的平均查找长度。

答案:

平均查找长度:ASLsucc=(1+1+1+2+3+4+1+2)/8=15/8

以关键字27为例:H(27)=27%7=6(冲突)   H1=(6+1)%10=7(冲突)

H2=(6+22)%10=0(冲突)   H3=(6+33)%10=5   所以比较了4次。

7设哈希函数H(K)=3 K mod 11,哈希地址空间为0~10,对关键字序列(32,13,49,24,38,21,4,12),按下述两种解决冲突的方法构造哈希表,并分别求出等概率下查找成功时和查找失败时的平均查找长度ASLsucc和ASLunsucc。

线性探测法;

链地址法。

答案:

ASLsucc =(1+1+1+2+1+2+1+2)/8=11/8

ASLunsucc=(1+2+1+8+7+6+5+4+3+2+1)/11=40/11

 

 

ASLsucc =(1*5+2*3)/8=11/8

ASLunsucc=(1+2+1+2+3+1+3+1+3+1+1)/11=19/11

http://www.lryc.cn/news/586617.html

相关文章:

  • HT8313功放入门
  • HashMap的原理
  • 数据结构与算法之美:线索二叉树
  • 蒙特卡洛树搜索方法实践
  • 蓝牙调试抓包工具--nRF Connect移动端 使用详细总结
  • 生成式对抗网络(GAN)模型原理概述
  • Java生产带文字、带边框的二维码
  • 牛客:HJ19 简单错误记录[华为机考][字符串]
  • 009 ST表:静态区间最值的极致优化
  • 面试现场:奇哥扮猪吃老虎,RocketMQ高级原理吊打面试官
  • MyBatis实现分页查询-苍穹外卖笔记
  • comfyUI-controlNet-线稿软边缘
  • python-enumrate函数
  • HarmonyOS从入门到精通:动画设计与实现之六 - 动画曲线与运动节奏控制
  • houdini 用 vellum 制作一个最简单的布料
  • 洛谷题解 | UVA1485 Permutation Counting
  • C++结构体数组应用
  • Spring Boot 中使用 Lombok 进行依赖注入的示例
  • 基于springboot+Vue的二手物品交易的设计与实现(免费分享)
  • 2025年亚太杯(中文赛项)数学建模B题【疾病的预测与大数据分析】原创论文讲解(含完整python代码)
  • jieba 库:中文分词的利器
  • JAVA--双亲委派机制
  • 【springcloud】快速搭建一套分布式服务springcloudalibaba(四)
  • 【一起来学AI大模型】RAG系统流程:查询→向量化→检索→生成
  • 【AI News | 20250711】每日AI进展
  • 【TOOL】ubuntu升级cmake版本
  • AI产品经理面试宝典第12天:AI产品经理的思维与转型路径面试题与答法
  • 功耗校准数据PowerProfile测试方法建议
  • 【深度剖析】致力“四个最”的君乐宝数字化转型(下篇:转型成效5-打造数字化生存能力探索可持续发展路径)
  • VUE3 el-table 主子表 显示