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

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

相关推荐
li星野17 分钟前
链表通关八题:从反转链表到两数相加,手撕LeetCode高频题
数据结构·学习·leetcode·链表
流年如夢19 分钟前
顺序表 -->增、删、查、改等详细操作
c语言·数据结构
wilbertzhou27 分钟前
华为4A架构中的信息架构设计方法:从数据资源到战略资产的治理之道
数据结构·togaf·企业架构·4a架构
小年糕是糕手28 分钟前
【C/C++刷题集】栈、stack、队列、queue核心精讲
c语言·开发语言·数据结构·数据库·c++·算法·蓝桥杯
小年糕是糕手36 分钟前
【C/C++刷题集】顺序表、vector、链表、list核心精讲
c语言·开发语言·数据结构·c++·算法·leetcode·蓝桥杯
Codigger官方1 小时前
2026年4月Vim生态最新官方消息
linux·编辑器·vim
流年如夢1 小时前
算法效率:复杂度原理解析
c语言·数据结构·算法
cpp_25013 小时前
P1024 [NOIP 2001 提高组] 一元三次方程求解
数据结构·c++·算法·题解·二分答案·洛谷·csp
AI人工智能+电脑小能手10 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
Mrlxl.cn13 小时前
计算机网络——网络层
c语言·数据结构·计算机网络·考研