当前位置:   article > 正文

63散列表_散列函数关系是:快表的地址是取 nv 的第24~31位;系统只采用一级页表;

散列函数关系是:快表的地址是取 nv 的第24~31位;系统只采用一级页表;

1、散列表的基本概念
散列函数:一个吧查找表中的关键字映射成该关键字对应的地址的函数,纪为Hash(key)=Addr。
哈希表可能会把两个或两个以上的不同关键字映射到同一地址,称这种情况为冲突,这些发生碰撞的不同关键字称为同义词。
散列表:根据关键字而直接进行访问的数据结构。散列表建立了关键字和存储地址之间的直接映射关系。
理想状态下查找的时间复杂度为O(1),即与表中元素个数无关
2、散列函数的构造方法
(1)散列函数必须包含全部需要存储的关键字,而值域的范围依赖于散列表的大小或地址
(2)散列函数计算出来的地址应该能等概率、均匀分布在整个地址空间吧,从而减少冲突的发送
(3)散列函数应尽量简单,能够在较短的时间内就计算出任一关键字对应的散列地址。
2.1直接定址法
直接取关键字的某个线性函数值为散列地址,散列函数为:
在这里插入图片描述

2.2除留余数法
在这里插入图片描述

2.3数字分析法
在这里插入图片描述

2.4平方取中法
在这里插入图片描述

2.5、折叠法
在这里插入图片描述
在这里插入图片描述

3、处理冲突的方法
任何设计出来的散列函数都把不可能绝对避免冲突,为此吗,必须考虑在发生冲突的时候应如何进行处理,即为产生冲突的关键字寻址下一个“空的”Hash地址。
3.1开放定址法
在这里插入图片描述

3.2拉链法
对弈不同关键字可能会通过散列函数映射到同一地址,为了避免非同义词发生冲突,可以把所有的同义词存储在一个线性表中,这个线性表由其散列地址唯一标识。
在这里插入图片描述
在这里插入图片描述

4、散列查找及性能分析
散列表的查找过程与构造散列表的过程基本一致。对于给定的关键字key,根据散列函数可以计算出其散列地址,执行步骤如下:

在这里插入图片描述

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/960038
推荐阅读
相关标签
  

闽ICP备14008679号