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

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

相关推荐
y1su3 分钟前
Leetcode 单调栈模板
java·开发语言·数据结构·算法·leetcode
一只旭宝19 分钟前
树的家族全景:从二叉树到 B+ 树
数据结构
垆边人似月.31 分钟前
华为题:每日温度
数据结构·c++·算法
Peregrine91 小时前
数据结构 - > 树和二叉树
数据结构·算法
j7~1 小时前
【算法】专题四.前缀和:一维二维模板,配套 LeetCode 真题,结合同余定理、哈希前缀和,搞定子数组与子矩阵区间求和问题。
数据结构·c++·算法·前缀和·优选算法
启观川1 小时前
数据结构与算法 -第 3 章 常用算法-回溯算法
数据结构·笔记·python·算法
启观川10 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·笔记·python·算法
Logic10112 小时前
C语言/数据结构欧几里得算法题解:长方形切割最大正方形——贪心划分计数
c语言·数据结构·算法·贪心算法·时间复杂度·空间复杂度·欧几里得算法
flinn_small14 小时前
三分算法:原理、实现与实战应用
数据结构·算法·三分
INGNIGHT14 小时前
944 · 最大子矩阵(前缀和)
数据结构·c++·算法