题目要求:

利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75)

关键字集合:85,75,57,60,65,(你的8位学号相加值),98,74,89,12,5,46,97,13,69,52,92

实现过程

  • 1.首先除留余数法分为用数组和链表实现
  • 2.实现这个方法我们需要下列公式(图片)
  • 3.当我们把想要的数字(素数、H(key)、m)求出来后,首先我们需要对所有数字:85,75,57,60,65,24(你的8位学号相加值),98,74,89,12,5,46,97,13,69,52,92的余数进行一次排序(从小到大),然后将数组或者链表画出来,将余数分别添加到对应的下标里。
  • 4.需要注意的是,当出现冲突时我们应该怎么做,冲突我们可以参照课本P430的链式方法或者是用溢出区的办法。
  • 5.我使用的是链式方法,课堂上已经画出了解决方案。
  • 6.开放寻址法,参考这一页PPT,一开始我对开放寻址法如何解决冲突的余数的理解是:随便放。后面我问过王志强老师后,他告诉我:要的是线性。而且当出现这种情况时(图片)我们要按照谁先录入谁先放的原则,并且从左到右放。

结果

  • 链式方法实现结果:

  • 开放寻址法实现结果

hash函数补分博客的更多相关文章

  1. 20162311 Hash 补分博客

    20162311 Hash 补分博客 一.任务详情 二.解题过程 除留余数法和拉链法都懂了,也都会做,主要是开放寻址法.课下查了一些资料,也问了老师才彻底理解 引用例子 引用网上的一个例子来理解 参考 ...

  2. HASH方法课下补分博客

    课堂要求:利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75)关键字集合:85,75,57,60,65,(你的8位学号相 ...

  3. hash课堂测试补分博客

    题目要求: 开放地址法: 概念: 所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入. 它的公式为: 解题过程(在下图中): 拉链法: ...

  4. Dijkstra算法课后补分博客

    题目名称:Dijkstra算法 题目要求:课上给出相关附图,求解附图顶点A的单源最短路径. 附图: 做题过程 1.了解Dijkstra算法的相关知识,包括定义以及使用方法. 定义:Dijkstra算法 ...

  5. 解决同伴收获&解决同伴问题补分博客

    解决同伴问题 要求: 查看同组同学的课堂笔记,尝试解决同伴的问题,格式如下: 我的同组同学是XXXX学号XXXX同学 同组同学的问题是XXXX 我理解他的意思是XXXX 他的问题我有一个小建议是XXX ...

  6. [BUAA软工]团队贡献分博客

    Gamma阶段贡献分 Beta阶段贡献分 Alpha阶段贡献分 (博客最后部分) 复制过来: Alpha阶段 名字 角色 具体的可衡量的可验证的贡献 zpj PM,后端开发 博客X3 65 commi ...

  7. 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)

    20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

  8. python四:函数练习--小白博客

    为什么要有函数?函数式编程定义一次,多出调用函数在一定程度上可以理解为变量函数的内存地址加上()就是调用函数本身也可以当做参数去传参 不用函数:组织结构不清晰代码的重复性 def test():#te ...

  9. 20172319 2018.10.12《Java程序设计教程》第6周课堂实践(补写博客)

    20172319 2018.10.12 <Java程序设计教程>第6周课堂测验 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

随机推荐

  1. 点击事件click和onclick的区别

    一句话:$(selector).click()事件只能绑定静态元素.$(selector).on('click',function(){ })支持动态绑定元素. 如果是动态生成的元素,绑定事件只能用o ...

  2. 解决python中 .to_csv() 的乱码问题

    解决方法:添加参数 encoding='utf_8_sig' df.to_csv('users.csv', encoding='utf_8_sig')

  3. 「PKUSC2018」神仙的游戏

    题目链接 比如说上面\(|S|\)为12的字符串,我们欲求出\(f(9)\)的值,那么上面相同颜色的字符必须两两能够匹配.也就是说,同种颜色的字符集里不能同时出现0和1.如果只考虑同种颜色集里相邻的两 ...

  4. 用scrapy爬取亚马逊网站项目

    这次爬取亚马逊网站,用到了scrapy,代理池,和中间件: spiders里面: # -*- coding: utf-8 -*- import scrapy from scrapy.http.requ ...

  5. Win平台阅读Kafka源码时候使用bat脚本时候报错以及解决方案

    问题1: 使用bat脚本报错: 解决方案: 在配置好kafka的server.properties文件后,cmd进入命令窗口输入命令:.\bin\windows\kafka-server-start. ...

  6. Thinkphp5.0整合个推例子

    最近做一个后台发送消息推送到app(android和ios)的功能,该功能采用的是个推接口,基于php的,我用TP5来实现这个推送流程.先看官方demo吧.可以先参考官方给到的例子来看http://d ...

  7. oracle 查询 磁盘使用率

    SELECT d.tablespace_name "Name",        TO_CHAR(NVL(a.bytes / 1024 / 1024 / 1024, 0), '99, ...

  8. 20175310 《Java程序设计》第2周学习总结

    20175310<Java程序设计>第2周学习总结 教材学习内容总结 本周学习了第二章和第三章的内容,大部分的知识点都和大一学的C语言很相似,学起来难度不大. 教材学习中的问题和解决过程 ...

  9. Android开发之加载GIF图片

    一.加载GIF图片我用的是GitHub上的开源库:android-gif-drawable,项目地址:https://github.com/koral--/android-gif-drawable 二 ...

  10. 更换apt-get官方源为163源

    更换apt-get官方源为163源 1.# mv /etc/apt/sources.list /etc/apt/sources.list.bak 2.覆盖原来源文件 tee /etc/apt/sour ...