hash表

作者: 星月西 | 来源:发表于2017-09-19 16:08 被阅读21次

1.散列表

散列技术是在记录的存储位置和它的关键词之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)

  • 散列技术最适合的求解问题是查找与给定值相等的记录
  • 相同关键字可以

2.散列函数

  • 散列函数的计算时间不应该超过其他查找技术与关键词比较时间

  • 散列地址分布均匀

  • 直接定址法 f(key)=a*key+b
    简单均匀,也不会产生冲突,适合查找表较小且连续的情况

  • 除留余数法 f(key)=key mod p (p<=m)

  • 处理散列冲突的方法

    • 线性探测法
      一旦发生了冲突,就去寻找下一个空的散列地址,只要散列足够大,空的散列地址总能找到,并将记录存入
    • 二次探测法
      双向寻找可能的空位置,同事增加平方运算,不让关键词都聚集在某一块区域
      还可以使用伪随机数,如果设置随机种子相同,每次得到的数列是相同的
  • 再散列函数法
    每当发生散列地址冲突时,就换一个散列函数计算,总有一个可以把冲突解决掉

相关文章

  • 面试准备——HashMap原理

    Hash表 Hash表的结构就是顺序表+链表的结构Hash表(jdk1.7)中内部是HashMapEntry

  • HashMap 源码理解

    基础 Node定义 table hash表,Node数组。 size: hash表中Node节点总数,与hash...

  • Redis 字典

    Redis 字典使用Hash 表作为底层的实现,Hash 表这个结构不难理解,但是在实际应用 Hash 表时,当数...

  • 机试常用算法和题型-哈希专题

    哈希专题 hash表的用法 hash表高阶用法,二维数组存放不同组的hash值 hash结合字母表处理字符串的使用方法

  • 什么是哈希(Hash)表

    什么是哈希(Hash)表 Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组、链表...

  • 数据结构-Hash

    1. 什么是Hash表 先看一下hash表的结构图: 数组 + 链表 哈希表(Hash table,也叫散列表),...

  • 笔记-数据结构之 Hash(OC的粗略实现)

    什么是Hash表 先看一下hash表的结构图: 数组 + 链表 哈希表(Hash table,也叫散列表),是根据...

  • 数据结构-Hash

    1. 什么是Hash表 先看一下hash表的结构图: 数组 + 链表 哈希表(Hash table,也叫散列表),...

  • 命令使用

    一、date 二、关机或重启系统 三、alias:别名 四、hash: hash:查看hash表(表中记录了查找到...

  • Hash表

    散列函数:一个把查找表中的关键字映射称对应的地址的函数,记为Hash(key)=Addr(这里的地址也可以看作数组...

网友评论

      本文标题:hash表

      本文链接:https://www.haomeiwen.com/subject/nkrwsxtx.html