数据结构:哈希表(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.应用

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

相关推荐
赫瑞9 分钟前
数据结构中的排列组合 —— Java实现
java·开发语言·数据结构
大熊背14 分钟前
ISP Pipeline中Lv实现方式探究之三--lv计算定点实现
数据结构·算法·自动曝光·lv·isppipeline
yuannl104 小时前
数据结构----队列的实现
数据结构
Mr_Xuhhh4 小时前
从ArrayList到LinkedList:理解链表,掌握Java集合的另一种选择
java·数据结构·链表
Ricardo-Yang6 小时前
SCNP语义分割边缘logits策略
数据结构·人工智能·python·深度学习·算法
soragui7 小时前
【Python】第 4 章:Python 数据结构实现
数据结构·windows·python
samroom7 小时前
【鸿蒙应用开发 Dev ECO Studio 5.0版本】从0到1!从无到有!最全!计算器------按钮动画、滑动退格、中缀表达式转后缀表达式、UI设计
数据结构·ui·华为·typescript·harmonyos·鸿蒙
算法鑫探8 小时前
10个数下标排序:最大值、最小值与平均值(下)
c语言·数据结构·算法·排序算法·新人首发
王老师青少年编程8 小时前
csp信奥赛c++之状压枚举
数据结构·c++·算法·csp·信奥赛·csp-s·状压枚举
Mr_Xuhhh8 小时前
深入理解二叉树:从数据结构到算法实战
数据结构·算法