zoukankan      html  css  js  c++  java
  • Hash表总结

    1、定义:Hash表是一种重要的数据结构。它通过将关键字通过hash函数映射到一个内存区,通过关键字就可以直接访问该节点的值。其查找的时间复杂度为O(1)

    Hash表也叫做散列表。它通过将关键字的值(key)通过hash函数映射到内存区中,然后在响应的内存区中可以存入相应的值(value),也就是我们常说的键值对(key-value)。

    在java中,hash表示存储在数组中的。设hash表的地址空间大小为m(比如有一个大小为n的数组),待存入的元素个数为m,即要将m的元素放入到大小为n的数组中。

    2、映射机制

    线性映射,

    3、hash冲突问题

    (1)线性再探测法探测法

    (2)伪随机探测法

    (3)链地址法:将具有相同hash地址的元素存在一个链表中,然后再hash表中存入的是这个链表的头节点。这种方法适用于hash表中元素个数不确定的情况。并且这种方法的有点是插入和删除操作简单方便。

    实例应用:

  • 相关阅读:
    kmp算法详解
    艾伦.席森.图灵
    gcd详解
    Shortest Prefixes 字典树模板
    Hat's Words 字典树变式
    统计难题 字典树模板
    Phone List 字典树模板
    字典树详解
    Basic Gcd Problem 线性筛
    codeforces 454 D. Little Pony and Harmony Chest(状压dp)
  • 原文地址:https://www.cnblogs.com/wll-zju/p/4328333.html
Copyright © 2011-2022 走看看