• 初步学习:hash存储和hash表的原理


    感谢作者:本文来源:https://www.cnblogs.com/5poi/p/7273743.html

    哈希表的定义:

      哈希存储的基本思想是以关键字key为自变量通过一定的函数关系(散列函数或哈希函数)以这个值作为数据原始的地址。并将数据存放到相应的存储单元中。

      查找是在根据查找的关键字采用同样的算法计算除哈希地址,然后直接到相应的存储单元中找到要找的数据元素即可。

    哈希表的应用:

      哈希表hash_table是实现字典操纵的一种有效的数据结构。

      尽管在最坏的情况下散列表中查找一个元素的事件与在链表中查找的事件相同。达到了O(n).

      然而在实际的应用中,散列的查找的性能是极好的,在一些合理的假设下,在散列表中查找一个元素的平均事件是O(1)

    建立hash表操作步骤

      1. step1 取数据元素的关键字key ,计算hash函数,计算地址。如果该地址对应的空间没有被占用,则将该元素存入,否则进入step2.解决冲突。

      2. step2 根据选择的冲突处理办法,计算关键字key的下一个存储地址,若下一个存储地址仍然被占用,则继续执行step2.知道找到存储地址为止

    常用的哈希函数

      构造hash函数的方法很多,但是总的原则是尽可能将关键字集合空间均匀的映射到地址集合空间中,尽可能的降低冲突发生的概率。

    1. 除留余哈希函数

      

  • 相关阅读:
    MySQL数据库的安装与配置
    java中的反射机制
    详谈设计模式之单列模式
    servlet内部转发与重定向
    servlet基础语句总结
    Servlet映射的俩种方法以及优缺点
    eclipse和idea的快捷键比较及idea如何调节eclipse的快捷键
    servlet
    JDK下载与安装教程
    正则表达式查询
  • 原文地址:https://www.cnblogs.com/dousil/p/12883009.html
Copyright © 2020-2023  润新知