
Data Structures in C++:哈希
构造哈希表 根据冲突处理方法解决冲突 在哈希表基础上执行查找
发布日期:2021-05-17 15:29:46
浏览次数:27
分类:精选文章
本文共 503 字,大约阅读时间需要 1 分钟。
文章目录
Hash中文翻译为 “散列”,以下统称其音译 “哈希”
哈希映射
哈希映射(Hash Map)是根据键值对直接进行访问的数据结构。通过将键值映射到表中一个位置来访问记录,以加快查找速度,这个映射函数叫做哈希函数,存放记录的数组叫做哈希表。哈希映射在C++STL中的实现为unordered_map,键是唯一的
特点:
- 抗篡改能力:修改一个比特位会带来巨大影响
- 哈希映射是“非对称”的,是明文到密文的不可逆映射,只能加密,不能解密
哈希集
哈希集合是集合数据结构的实现之一,用于存储唯一值。C++STL中的实现为unordered_set,键唯一,按键生成散列
哈希冲突
当两对数据的哈希值相同时发生冲突。此冲突在实际应用中无法完全避免,处理方法主要有两种:开放寻址法和拉链法
- 开放寻址法:冲突时按照特定方法继续探测,例如线性探查、二次探查、伪随机探测等
- 拉链法:将冲突的元素插入链表中,适合冲突严重的情况
哈希查找
哈希查找通过哈希映射直接计算存储地址进行查找,步骤详细如下
对于无冲突的哈希表,查找复杂度为O(1),是最快的查找方法
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月27日 06时00分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
广东外语外贸大学第三届网络安全大赛Writeup
2019-03-09
SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
2019-03-10
Thymeleaf sec:authorize 标签不生效
2019-03-11
微信JS-SDK DEMO页面和示例代码
2019-03-11
一张图搞定RPC框架核心原理
2019-03-11
他来了他来了,他带着云栖大会的免费门票走来了
2019-03-11
获取linux 主机cpu类型
2019-03-11
pwntools编写技巧
2019-03-11
How2Heap笔记(三)
2019-03-11
算法训练 未名湖边的烦恼(递归,递推)
2019-03-11
什么是接口
2019-03-11
Allegro中如何消除器件本身Pin间距报错
2019-03-11
Flask--简介
2019-03-11
16 python基础-恺撒密码
2019-03-11
Frame--Api框架
2019-03-11
Boostrap技能点整理之【网格系统】
2019-03-11
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
2019-03-11
Git简单理解与使用
2019-03-11