美文网首页
数据结构:散列

数据结构:散列

作者: GTMYang | 来源:发表于2019-05-29 13:40 被阅读0次

散列函数

将key转换成数组索引的函数

  • 散列函数采用Mod方式时,用素数作为TableSize能减少碰撞
  • 散列函数产生重复的散列值,被称为产生了冲突
  • 装填因子:Count除以TableSize

解决散列函数冲突的方法

分离连接法

用链表来存储元素,具有相同散列值的元素存储在同一个链表里。

开放定址法

引入冲突解决函数F(i), i是冲突次数

1. 线性探测法

F(i) = i, 线性查找空区域

2. 平方探测法

F(i) = i2 (平方)

3. 双散列

F(i) = i * hash2(X) 引入额外的散列函数hash2(X)

4. 再散列

对填充太满的表重新散列,建立大约2倍大小的新表,将旧表中的元素重新散列到新表中。

5. 可扩散列

深度为1的 B-树
扩展方式:树叶分裂

相关文章

  • 数据结构与算法JavaScript描述(6) —— 散列(Has

    散列 散列是一种常用的数据存储技术,散列后的数据可以快速地插入或取用。散列使用的数据结构叫做散列表。在散列表上插入...

  • 7000字哈希表总结,图文讲解!

    今天我们来说一种新的数据结构散列(哈希)表,散列是应用非常广泛的数据结构,在我们的刷题过程中,散列表的出场率特别高...

  • 数据结构——散列

    散列也叫作散列表,是一种非线性的数据结构,可以用来快速的查找和插入数据。在 JavaScript 中,通常使用数组...

  • 数据结构:散列

    散列函数 将key转换成数组索引的函数 散列函数采用Mod方式时,用素数作为TableSize能减少碰撞 散列函数...

  • 一文助你把哈希表整的明明白白

    之前给大家介绍了链表,栈和队列今天我们来说一种新的数据结构散列(哈希)表,散列是应用非常广泛的数据结构,在我们的刷...

  • 散列表面面观

    引子 散列的概念应用很广泛,比如加密,散列表,几何散列等。而散列表更是日常工作中常见的数据结构,同时也是面试中最常...

  • 散列表

    什么是散列表 散列表也叫哈希表,输入某一关键字输出其对应的数值的数据结构 散列表的生成依赖于散列函数,散列函数的要...

  • Redis5数据类型3-Hash

    1. Hash散列 是指Redis中存储的value值是Hash散列类型的。而Hash也有自己的数据结构: 它是由...

  • 2019-04-17 Redis简介 (2)

    数据结构 String: 字符串 Hash: 散列 List: 列表 Set: 集合 Sorted Set: 有序...

  • 最简单说明Java HashMap底层数据结构实现

    本文只谈数据结构,先说结论: HashMap底层数据结构实现基于散列链表(数组 + 链表)见:HashMap数据结...

网友评论

      本文标题:数据结构:散列

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