数据结构:哈希表(Hash table)

目录

1.概念

2.示例(将0-100数据存放到哈希表中)

3.应用


1.概念

哈希表(Hash table,也叫散列表、非线性表),是根据关键码值(Key value)而直接进行访问的一种高效的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做哈希表。

给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。

①.哈希 :本质是一种算法思想、将数据根据哈希算法映射成键值,根据键值来写入或是査找数据,以实现査找数据O(1)时间复杂度

②.哈希碰撞(哈希冲突):多个数据通过哈希算法映射成同样的键值,说明产生哈希冲突【解决方法:链地址法】【若不发生哈希冲突,哈希的时间复杂度为O(1)】

③.链地址法 :数据产生哈希冲突通过在同一键值位置用链表实现多个数据的存储

提示 :现实中哈希函数是需要构造的,并且构造的好才能使用的好。

2.示例(将0-100数据存放到哈希表中)

①数据类型


②创建:
③在哈希表中插入一个数据(无头链表)


④显示哈希表中所有数据


⑤查找哈希表中单个数据


⑥销毁哈希表

3.应用

由于哈希表的特殊性质,其在安全加密(是现代密码体系中的一个重要组成部分),数据校验,唯一标识,负载均衡等场景都有着不可替代的作用。

相关推荐
Tingjct2 小时前
【C语言实现堆的TOPK问题】——海量数据中怎么找前K大(小)?
数据结构
代码游侠2 小时前
C语言核心概念复习(三)
开发语言·数据结构·c++·笔记·学习·算法
Herbert_hwt2 小时前
数据结构与算法绪论:为何学、学什么、如何避坑
c语言·数据结构·算法
宵时待雨2 小时前
数据结构(初阶)笔记归纳10:二叉树
数据结构·笔记·算法
数智工坊3 小时前
【数据结构-查找】7.1顺序查找-折半查找-分块查找
数据结构
后来后来啊3 小时前
2026.2.2 & 2.3学习笔记
数据结构·笔记·学习·算法·leetcode
Emberone3 小时前
数据结构:算法的时间复杂度和空间复杂度
数据结构·算法
历程里程碑3 小时前
Linux 18 进程控制
linux·运维·服务器·开发语言·数据结构·c++·笔记
EnglishJun3 小时前
数据结构的学习(三)---双向链表与循环链表
数据结构·学习·链表