zoukankan      html  css  js  c++  java
  • hash函数补分博客

    题目要求:

    利用除留余数法为下列关键字集合的存储设计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,一开始我对开放寻址法如何解决冲突的余数的理解是:随便放。后面我问过王志强老师后,他告诉我:要的是线性。而且当出现这种情况时(图片)我们要按照谁先录入谁先放的原则,并且从左到右放。

    结果

    • 链式方法实现结果:

    • 开放寻址法实现结果

  • 相关阅读:
    Log4Net使用指南
    Log4net 写文件日志与数据库日志
    JSON-Schema 最科学的表单验证模式
    番茄时间工作法
    css 温故而知新 1px的问题
    $.ajax 温故而知新坑
    H5中滚动卡顿的问题
    横向思维
    Wd 西部数据
    使用AlloyLever来搞定开发调试发布,错误监控上报,用户问题定位
  • 原文地址:https://www.cnblogs.com/Mosemonkey/p/7906667.html
Copyright © 2011-2022 走看看