(7.4.1)--(22)《数据结构》教案.pdf
《(7.4.1)--(22)《数据结构》教案.pdf》由会员分享,可在线阅读,更多相关《(7.4.1)--(22)《数据结构》教案.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 1 第第7章章 查找查找(共共 6 时,包括实训内容时,包括实训内容)课题课题 7.4 散列表 理论理论课时课时 1 学时 实实训训课时课时 1 学时 教学内容教学内容 散列表的定义、散列函数的构造方法、处理冲突的方法、散列表的查找与分析 教学目标教学目标 理解散列表的定义、掌握散列函数的构造方法、处理冲突的方法、散列表的查找与分析 教学重点教学重点 散列表的定义、散列函数的构造方法、处理冲突的方法 教学难点教学难点 散列函数的构造方法、处理冲突的方法 教学教学活动及主要活动及主要内容内容 学生活动学生活动 一、创设一、创设情境情境,导入新课(,导入新课(2 分钟)(分钟)(直接导入法直接导
2、入法)导入:前面讨论的查找表,在查找时需通过给定值和记录关键字进行比较来实现,查找的效率主要取决于和给定值进行比较的关键字个数。对于频繁使用的查找表,我们希望平均查找长度为零或尽量接近零,即不经过任何比较,可直接存取所查记录。这就必须知道所查关键字在表中的位置。也就是说,记录在表中位置和其关键字之间存在一种确定的关系。计算机如何实现这种查找结构?下面我们来学习一下 二、新课二、新课讲解讲解(共共计计 16 分分钟)(讲解法、提问法、钟)(讲解法、提问法、演示演示法)法)7.4 散列表散列表 7.4.1 散列表的定义散列表的定义 在一般情况下需要在关键字集和地址集之间建立一个映射关系,以 H(k
3、ey)作为关键字为 key 的记录在表中的位置,通常称这个函数 H(key)为散列函数或哈希函数。例如,设散列函数为 H(key)2/)1)()(AASCASC 第一字母,为图7.17(a)中的关键字序列构造表长为 13 的散列表,结果如图 7.17(b)所示。激 发 学 生学习 散 列 表的兴趣。学 生 要 理解散 列 表 的相关概念 2 图 7.17 关键字序列及其构造的散列表 散列函数是一个映象,即将关键字的集合映射到某个地址集合上,它很容易产生冲突。即21keykey,而)2()1(keyHkeyH。通常把这种具有不同关键字而具有相同散列地址的对象称作同义词同义词,由同义词引起的冲突称
4、为同义词冲突同义词冲突。散列表存储的基本思想是:设要存储的对象个数为 n,设置一个长度为m(mn)的连续内存单元,以线性表中每个对象的关键字 key 为自变量,通过散列函数,把每个 key 值映射为内存单元的地址(或称数组下标),即 H(key)的值,并把该对象存储在这个内存单元中。H(key)的值称为散列地址散列地址或哈希地址哈希地址。把这样构造的表存储结构称为散列表或哈希表。(hash table)。7.4.2 散列函数的构造方法散列函数的构造方法 1.直接定址法直接定址法 散列函数为关键字的线性函数6)(keyakeyH。直接定址所得地址集合与关键字集合的大小相同。对于不同的关键字不会发
5、生冲突。但实际中能使用这种散列函数的可能性很少。2数字分析法数字分析法 假设关键字集合中的每个关键字都是由 s 位数字组成(k1,k2,kn),分析关键字集中的全体,并从中提取分布均匀的若干位或它们的组合作为地址。一般用于能预先估计出所有关键字的每一位上各种数字出现的频度的情况。3.平方取中法平方取中法 若关键字的每一位都有某些数字重复出现频度很高的现象,则先求关键字的平方值,以通过“平方”扩大差别,一个数平方后的中间几位受到整个关键字中各个数位的影响,可增加随机性。4.折叠法折叠法 若关键字的位数特别多,则可将其分割成几部分,然后取它们的叠加和为散列地址。叠加法有移位叠加和间界叠加两种处理方
6、法。移位叠加是将关键字分割后的几个部分按最低位右对齐进行叠加,结果作为地址。间界叠加是按照每组的个数来回周折进行折叠,结果作为地址。叠加后要舍弃进位。5.随机数法随机数法 通过随机函数对每个关键字产生一个随机数作为散列地址:学 生 应 掌握散 列 函 数常见 的 构 造方法 3 6.除留余数法除留余数法 用关键字 key 除以一个小于或等于散列表长度 m 的整数 p 后得到的余数作为散列地址:pkeykeyH%)()(mp 一般的,p 为不大于 m 的质数或为不含 20 以下的两个质因数的乘积。7.4.3 处理冲突的方法处理冲突的方法 1.开放地址法开放地址法 所谓开放地址开放地址就是散列表中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 7.4 22 教案
限制150内