logo
  • write-homewrite-home-active首页
  • icon-chaticon-chat-activeAI 智能助手
  • icon-pluginicon-plugin-active浏览器插件
  • icon-subjecticon-subject-active学科题目
  • icon-uploadicon-upload-active上传题库
  • icon-appicon-app-active手机APP
首页
/
计算机
题目

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

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

(1)线性探测法;

(2)链地址法。

题目解答

答案

(1) 线性探测法:

线性探测法是一种解决冲突的方法,当发生冲突时,线性探测法会逐个探测下一个可用的散列地址,直到找到空槽或者遍历完整个散列表。

首先,我们创建一个大小为11的散列表,并初始化所有槽位为空。

关键字序列为 (32, 13, 49, 24, 38, 21, 4, 12)。

按照散列函数 H(K) = 3K % 11,将关键字插入散列表中。

步骤如下:

1. 插入关键字 32:

   - 计算散列地址:H(32) = 3 * 32 % 11 = 9

   - 槽位9为空,插入关键字 32。

2. 插入关键字 13:

   - 计算散列地址:H(13) = 3 * 13 % 11 = 7

   - 槽位7为空,插入关键字 13。

3. 插入关键字 49:

   - 计算散列地址:H(49) = 3 * 49 % 11 = 4

   - 槽位4为空,插入关键字 49。

4. 插入关键字 24:

   - 计算散列地址:H(24) = 3 * 24 % 11 = 10

   - 槽位10为空,插入关键字 24。

5. 插入关键字 38:

   - 计算散列地址:H(38) = 3 * 38 % 11 = 4

   - 发生冲突,线性探测下一个槽位。

   - 计算下一个散列地址:H(38) + 1 = 4 + 1 = 5

   - 槽位5为空,插入关键字 38。

6. 插入关键字 21:

   - 计算散列地址:H(21) = 3 * 21 % 11 = 9

   - 发生冲突,线性探测下一个槽位。

   - 计算下一个散列地址:H(21) + 1 = 9 + 1 = 10

   - 发生冲突,线性探测下一个槽位。

   - 计算下一个散列地址:H(21) + 2 = 9 + 2 = 0

   - 槽位0为空,插入关键字 21。

7. 插入关键字 4:

   - 计算散列地址:H(4) = 3 * 4 % 11 = 1

   - 槽位1为空,插入关键字 4。

8. 插入关键字 12:

   - 计算散列地址:H(12) = 3 * 12 % 11 = 3

   - 槽位3为空,插入关键字 12。

插入完成后的散列表如下:

```

[ _,  4, _, 12, _, 38, _, 13, _, 32, 24 ]

```

对于查找成功时的平均查找长度(ASLsucc)和查找失败时的平均查找长度(ASLunsucc),我们需要根据散列表中的元素和散列函数进行计算。在线性探测法中,ASLsucc 和 ASLunsucc 的计算公式如下:

ASLsucc = (查找成功时的平均查找长度)

          = (查找成功时的查找长度之和) / (查找成功的关键字个数)

ASLunsucc = (查找失败时的平均查找长度)

            = (查找失败时的查找长度之和) / (查找失败的关键字个数)

在这个例子中,我们需要对关键字序列进行查找并计算查找长度之和。

根据线性探测法,插入关键字时,如果发生冲突,会依次探测下一个槽位,直到找到空槽位。

查找成功时的查找长度之和 = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8

查找失败时的查找长度之和 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36

查找成功的关键字个数 = 8

查找失败的关键字个数 = 0 (因为所有关键字都存在于散列表中)

ASLsucc = 查找成功时的查找长度之和 / 查找成功的关键字个数 = 8 / 8 = 1

ASLunsucc = 查找失败时的查找长度之和 / 查找失败的关键字个数 = 0 / 0 (未发生查找失败)

所以,线性探测法下的等概率下查找成功时的平均查找长度ASLsucc为1。

(2) 链地址法:

链地址法是一种解决冲突的方法,使用一个链表来存储散列到同一个槽位的所有关键字。

同样地,我们创建一个大小为11的散列表,并初始化所有槽位为空链表。

关键字序列为 (32, 13, 49, 24, 38, 21, 4, 12)。

按照散列函数 H(K) = 3K % 11,将关键字插入散列表中。

步骤如下:

1. 插入关键字 32:

   - 计算散列地址:H(32) = 3 * 32 % 11 = 9

   - 槽位9为空链表,插入关键字 32。

2. 插入关键字 13:

   - 计算散列地址:H(13) = 3 * 13 % 11 = 7

   - 槽位7为空链表,插入关键字 13。

3. 插入关键字 49:

   - 计算散列地址:H(49) = 3 * 49 % 11 = 4

   - 槽位4为空链表,插入关键字 49。

4. 插入关键字 24:

   - 计算散列地址:H(24) = 3 * 24 % 11 = 10

   - 槽位10为空链表,插入关键字 24。

5. 插入关键字 38:

   - 计算散列地址:H(38) = 3 * 38 % 11 = 4

   - 槽位4非空,将关键字 38 插入槽位4的链表末尾。

6. 插入关键字 21:

   - 计算散列地址:H(21) = 3 * 21 % 11 =

7. 插入关键字 4:

   - 计算散列地址:H(4) = 3 * 4 % 11 = 1

   - 槽位1为空链表,插入关键字 4。

8. 插入关键字 12:

   - 计算散列地址:H(12) = 3 * 12 % 11 = 3

   - 槽位3为空链表,插入关键字 12。

插入完成后的散列表如下:

```

[ _,  (4, 12), _, (13, 32), (21), (38), _, (49), _, _, (24) ]

```

其中括号内表示链表中的关键字。

对于链地址法,查找成功时的平均查找长度(ASLsucc)和查找失败时的平均查找长度(ASLunsucc)的计算如下:

ASLsucc = (查找成功时的平均查找长度)

          = (查找成功时的查找长度之和) / (查找成功的关键字个数)

ASLunsucc = (查找失败时的平均查找长度)

            = (查找失败时的查找长度之和) / (查找失败的关键字个数)

对于查找成功时的平均查找长度(ASLsucc)和查找失败时的平均查找长度(ASLunsucc),同样需要计算查找长度之和并除以关键字个数。

查找成功时的查找长度之和 = 2 + 2 + 2 + 2 + 1 + 1 + 2 + 2 = 14

查找失败时的查找长度之和 = 1 + 2 + 2 + 2 + 3 + 3 + 3 + 3 = 19

查找成功的关键字个数 = 8

查找失败的关键字个数 = 0 (因为所有关键字都存在于散列表中)

ASLsucc = 查找成功时的查找长度之和 / 查找成功的关键字个数 = 14 / 8 = 1.75

ASLunsucc = 查找失败时的查找长度之和 / 查找失败的关键字个数 = 0 / 0 (未发生查找失败)

所以,链地址法下的等概率下查找成功时的平均查找长度ASLsucc为1.75。

相关问题

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 7、 加强电脑安全防护,及时升级病 毒库,安装防火墙,及时查杀病毒和木马,是防范 电信网络诈骗的有效做法。A. 正确B. 错误

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 下列不属于量子机器学习算法的是()A. 量子支持向量机B. 量子主成分分析C. 薛定谔方程求解D. 深度量子学习

  • Windows中“复制”操作的快捷键是Ctrl+V。

  • 2、网络安全工作的目标包括:()。A. 信息机密性B. 信息完整性C. 服务可用性D. 以上都是

  • 9、不在网络安全的基本属性范围内的()。A. 机密性B. 可用性C. 完整性D. 多样性

  • 程序=算法+()A. 数据结构B. 程序结构C. 控制结构[1]D. 体系结构

  • AdaBoosting采用多个单一分类器组成一个强分类器()A. 错误B. 正确

  • 下列哪项贪婪最佳优先搜索算法的描述正确()A. 贪婪最佳优先搜索不属于启发式搜索算法B. 贪婪最佳优先搜索是一种A*搜索算法C. 贪婪最佳优先搜索是一种广度优先搜索算法D. 贪婪最佳优先搜索属于有信息搜索算法

  • 下列哪项属于因果推理模型()A. 因果图B. 神经符号推理C. 符号推理模型D. 结构因果模型

  • 下列哪个方法属于知识图谱推理方法()A. 路径排序算法B. 深度学习推断C. 广度优先搜索D. 归纳逻辑程序设计

  • 4/5 以下属于人工智能实际应用的是()。A. 机器视觉B. 人脸识别C. 计算机辅助自动规划D. 智能工业机器人E. 刷卡门禁

  • 由脸书(Facebook)公司开发的深度学习编程框架是()A. TensorFlowB. PaddlePaddleC. PyTorchD. Mindspore

  • 1、网上银行系统的一次转账操作过程中发生了转账金额被非法篡改的行为,这破坏了信息安全的()属性。A. 完整性B. 保密性C. 不可否认性D. 可用性

  • 下列哪项关于监督学习算法的描述正确()A. 强化学习的训练效果一定优于监督学习B. 主要的监督学习方法包括生成方法和判别方法C. 广度优先搜索算法是一种监督学习算法

  • 下列哪项不是求解对抗搜索问题的基本算法( ) A.反向传播算法 B.广度优先排序算法 C.Alpha-Beta剪枝算法D.最小最大搜索算法

  • 3.判断题K-means聚类算法对数据的尺寸敏感。()A. 对B. 错

  • 以下哪种方法属于卷积神经网络的基本组件()。A. 卷积层B. 池化层C. 激活函数D. 复制层

  • 8、信息安全“三个不发生”不包括( )。单选题Box 确保不发生大面积信息系统故障停运事故Box 确保不发生恶性信息泄密事故Box 确保不发生信息外网网站被恶意篡改事故Box 确保不发生信息内网非法外联事故

上一页下一页
logo
广州极目未来文化科技有限公司
注册地址:广州市黄埔区揽月路8号135、136、137、138房
关于
  • 隐私政策
  • 服务协议
  • 权限详情
学科
  • 医学
  • 政治学
  • 管理
  • 计算机
  • 教育
  • 数学
联系我们
  • 客服电话: 010-82893100
  • 公司邮箱: daxuesoutijiang@163.com
  • qt

©2023 广州极目未来文化科技有限公司 粤ICP备2023029972号    粤公网安备44011202002296号