线性探测再散列

线性探测再散列哈希表又称散列表。哈希表存储的基本思想是:以数据表中的每个记录的关键字k为自变量,通过一种函数H(k)计算出函数值。把这个值解释为一块连续存储空间(即数组空间)的单元地址(即下标),将该记录存储到这个单元中。在此称该函数H为哈函数或散列函数。按这种方法建立的表称为哈希表或散列表。处理冲突的方法:开放寻址法:Hi=(H(key)+di)MODm,i=1,2,…,k(k<=…

大家好,又见面了,我是你们的朋友全栈君。

哈希表又称散列表。哈希表存储的基本思想是:以数据表中的每个记录的关键字 k为自变量,通过一种函数H(k)计算出函数值。把这个值解释为一块连续存储空间(即数组空间)的单元地址(即下标),将该记录存储到这个单元中。在此称该函数H为哈函数或散列函数。按这种方法建立的表称为哈希表或散列表。

处理冲突的方法:

开放寻址法:Hi=(H(key) + di) MOD m, i=1,2,…, k(k<=m-1),其中H(key)为散列函数,m为散列表长,di为增量序列,可有下列三种取法:

1.di=1,2,3,…, m-1,称线性探测再散列;

2.di=1^2, -1^2, 2^2,-2^2, 3^2, …, ±(k)^2,(k<=m/2)称二次探测再散列;

3.di=伪随机数序列,称伪随机探测再散列。

再散列法:Hi=RHi(key), i=1,2,…,k. RHi均是不同的散列函数,即在同义词产生地址冲突时计算另一个散列函数地址,直到冲突不再发生,这种方法不易产生“聚集”,但增加了计算时间;

链地址法(拉链法):将所有关键字为同义词的记录存储在同一线性链表中;

例:设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是( ) 【南京理工大学 2001 一、15 (1.5分)】
A.8 B.3 C.5 D.9
我的计算步骤如下:
15,38,61,84用哈希函数H(key)=key%11计算后得地址:4,5,6,7
49计算后为5,发生冲突.
用二次探测再散列法解决冲突:
1:(key+1^2)%11=(49+1)%11=6,仍然发生冲突.
2:(key-1^2)%11=(49-1)%11=4,仍然发生冲突.
3:(key+2^2)%11=(49+4)%11=9,不再发生冲突.
得出结果为D

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146336.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • baq在聊天中啥意思_BAQ是什么意思

    baq在聊天中啥意思_BAQ是什么意思1.Inthismethod,therawdataofIandQchannelsisdividedintoblocksatfirst,theneachblockistransformedintotime-frequencydomainby2D-RDGT(Two-DimensionalRealvaluedDiscreteGaborTr…

    2022年6月15日
    120
  • 关于前端iframe嵌套页面的跳转问题

    关于前端iframe嵌套页面的跳转问题因工作中遇到的项目,有iframe页面嵌套,遇到了页面跳转的问题,所以记录解决问题的过程关于前端iframe嵌套页面的跳转问题问题:在A页面使用iframe嵌套了B页面,B页面中做了权限校验,即登录成功后才可以访问B中的某个页面,如果没有登录,则跳转A登录页面.过程:开始在B中尝试使用页面跳转location.href=”A登录的页面地址”,一直访问失败,且浏览器地址栏的url也没有变化,查询相关资料得到解决方法.解决方案:使用:windows.parent.location.href=”.

    2022年6月16日
    250
  • JavaScript(1)高阶函数filter、map、reduce

    JavaScript(1)高阶函数filter、map、reduce前言需求:有这样一个数组[10,20,110,200,60,30,40]1.筛选出数组中小于100的元素2.将筛选出的每个元素的值x23.完成第2步之后,将数组中的所有元素加起来

    2022年7月29日
    7
  • 学生个人网页制作html表格_用html制作学生成绩表

    学生个人网页制作html表格_用html制作学生成绩表HTML的嵌入式精美学生表格代码Contributor:国民老公45Type:代码Datetime:2019-11-0620:35:07Favorite:4Score:2返回上页Report请选择举报理由:AdvertisingPoliticallyPornographicGarbagearticleOtherCollectionModifythetypolegend{text-…

    2022年8月11日
    6
  • Supervisor进程管理详解「建议收藏」

    Supervisor进程管理详解「建议收藏」文章目录1.supervisor简介2.supervisor安装2.1安装方式2.2验证3.supervisor配置文件3.1主配置文件3.2子配置文件(program配置)3.2.1详细配置3.2.2公司配置4.进程管理命令5.web管理(不常用)6.Supervisor配置systemctl服务7.Supervisor管理redis和nginx7.1安装nginx和redis7.2配置文件7.3重新加载新配置文件7.4测试8.组管理8.1部署三个redis8.2

    2025年9月1日
    4
  • upx脱壳工具_攻防世界simple_unpack_逆向之旅003「建议收藏」

    upx脱壳工具_攻防世界simple_unpack_逆向之旅003「建议收藏」攻防世界simple_unpack_逆向之旅003前言一、使用exeinfoPE查看该文件二、使用upx脱壳2.使用ida打开脱壳处理后的文件总结前言先给出题目的链接:https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=0&id=5077&page=1题目说是个加了个壳的二进制文件一、使用exeinfoPE查看该文件如上图所示,检测到了upx的壳。二、使用upx脱壳指

    2022年7月19日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号