哈希游戏平台数据结构-哈希表PPT
哈希游戏作为一种新兴的区块链应用,它巧妙地结合了加密技术与娱乐,为玩家提供了全新的体验。万达哈希平台凭借其独特的彩票玩法和创新的哈希算法,公平公正-方便快捷!万达哈希,哈希游戏平台,哈希娱乐,哈希游戏
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
3、 1)/2,7,什么是哈希表,Chen,Zhao,Qian,Sun,Li,Wu,Han,Ye,Dei,序号,问题: 若添加关键字Zhou , 怎么办?,8,什么是哈希表,由此可见,,1) 哈希(Hash)函数是一个映象,即:将关键字的集合映射到某个地址集合上,它的设置很灵活,只要这个地址集合的大小不超出允许范围即可;,2) 对不同的关键字可能得到同一哈希地址,即: key1 key2,而 f(key1) = f(key2),因此,很容易产生“冲突”现象;,9,什么是哈希表,3) 很难找到一个不产生冲突的哈希函数。一般情况下,只能选择恰当的哈希函数,使冲突尽可能少地产生。,因此,在构造这种特殊的
4、“查找表” 时,除了需要选择一个“好”(尽可能少产生冲突)的哈希函数之外;还需要找到一种“处理冲突” 的方法。,10,哈希表的定义,根据设定的哈希函数 H(key) 和所选中的处理冲突的方法,将一组关键字映象到一个有限的、地址连续的地址集 (区间) 上,并以关键字在地址集中的“象”作为相应记录在表中的存储位置,如此构造所得的查找表称之为“哈希表”。,这一过程称为哈希造表或者散列,所得的存储位置成为哈希地址或者散列地址。,11,哈希函数的构造方法,对数字的关键字可有下列构造方法:,若是非数字关键字,则需先对其进行数字化处理。,1. 直接定址法,3. 平方取中法,5. 除留余数法,4. 折叠法,6
5、. 随机数法,2. 数字分析法,12,哈希函数为关键字的线性函数 H(key) = key 或者 H(key) = a key + b,1. 直接定址法,哈希函数的构造方法,13,哈希函数的构造方法,2. 数字分析法,假设关键字集合中的每个关键字都是由 s 位数字组成 (u1, u2, , us),分析关键字集中的全体, 并从中提取分布均匀的若干位或它们的组合作为地址。,此方法仅适合于: 能预先估计出全体关键字的每一位上各种数字出现的频度。,14,哈希函数的构造方法,有80个记录,关键字为8位十进制数,哈希地址为 2位十进制数,分析: 只取8 只取1 只取3、4 只取2、7、5 数字分布近乎随
6、机 所以:取任意两位或两位 与另两位的叠加作哈希地址,15,哈希函数的构造方法,以关键字的平方值的中间几位作为存储地址。求“关键字的平方值”的目的是“扩大差别”,同时平方值的中间各位又能受到整个关键字中各位的影响。,3. 平方取中法,此方法适合于: 关键字中的每一位都有某些数字重复出现频度很高的现象。,16,哈希函数的构造方法,4. 折叠法,将关键字分割成若干部分,然后取它们的叠加和为哈希地址。有两种叠加处理的方法:移位叠加和间界叠加。,此方法适合于: 关键字的数字位数特别多,而且关键字在每一位上的数字分布大致均匀的情况。,17,哈希函数的构造方法,例 关键字为 :0442205864,哈希地
8、若p中含质因子3, 则所有含质因子3的关键字均映射到“3的倍数”的地址上,从而增加了“冲突”的可能。,20,哈希函数的构造方法,6. 随机数法,设定哈希函数为: H(key) = Random(key) 其中Random 为随机函数,此方法通常用于对长度不等的关键字构造哈希函数。,21,哈希函数的构造方法,实际构造哈希表时 1.采用哪种构造哈希函数的方法取决于建表的关键字集合的情况(包括关键字的范围和形态) 2.总的原则是使产生冲突的可能性尽可能的小。 3.如果哈希造表过程中产生冲突,应当如何处理这些冲突呢?,22,处理冲突的方法,冲突:由关键字得到的哈希地址为j(0jn-1)的位置上已存有记
12、,即:产生的 Hi 均不相同,且所产生的 m-1个 Hi 值能覆盖哈希表中所有地址。 则要求:,注意:增量 di 应具有“完备性”, 随机探测时的 m 和 di 没有公因子。, 平方探测时的表长 m 必为形如 4j+3 的素数(如: 7, 11, 19, 23, 等);,31,处理冲突的方法,H2(key) 是另设定的一个哈希函数,它的函数值应和 m 互为素数。,若 m 为素数,则 H2(key) 可以是 1 至 m-1 之间的任意数;,若 m 为 2 的幂次,则 H2(key) 应是 1 至 m-1 之间的任意奇数。,32,处理冲突的方法,例如,当 m=11时, 可设 H2(key)=(3
18、; 2) 选用的处理冲突的方法; 3)哈希表饱和的程度,装载因子 =n/m 值的大小 (n记录数,m表的长度),决定哈希表查找的ASL的因素:,43,哈希表的查找分析,一般情况下,可以认为选用的哈希函数是“均匀”的,则在讨论ASL时,可以不考虑它的因素。,因此,哈希表的ASL是处理冲突方法和装载因子的函数。,例如:前述例子,线性探测处理冲突时,ASL =,链地址法处理冲突时,ASL =,22/9,13/9,44,哈希表的查找分析,线性探测再散列,可以证明:查找成功时有下列结果:,随机探测再散列,链地址法,45,哈希表的查找分析,从以上结果可见,,哈希表的平均查找长度是 的函数,而不是 n 的函数。,这说明,用哈希表构造查找表时,可以选择一个适当的装填因子 ,使得平均查找长度限定在某个范围内。,46,哈希表的删除操作,从哈希表中删除记录时,要作特殊处理,相应地,需要修改查找的算法。,47,小结和作业,哈希表,1哈希原理,2哈希函数的构造方法,3处理冲突的方法,4哈希表的查找及分析,作业:9.19,9.20,9.21,48,课堂练习,设有一组关键字11,54,36,89,51,47,38,59,63,94,15,采用哈希函数:H(key) = key % 13。采用开放地址法的线性探测再散列方法解决冲突,试在015的散列地址空间中对该关键字序列构造哈希表。,49,
1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
2025国家开放大学电大【信息管理概论】形考12答案 及 一体化终结性测试答案