数据结构---散列表(哈希表)

什么是哈希表

1、哈希表(Hash Table):也叫做散列表。是根据关键码值(Key Value)直接进行访问的数据结构。

2、哈希表通过「键 key 」和「映射函数 Hash(key) 」计算出对应的「值 value」,把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做「哈希函数(散列函数)」,存放记录的数组叫做「哈希表(散列表)」。

散列表的特点

数组 的最大特点:寻址容易,插入和删除困难

链表 的特点正好相反:寻址困难,而插入和删除操作容易

哈希表 的特点:寻址插入和删除操作都容易

哈希表的关键

哈希表的关键思想是使用哈希函数,将键 key 映射到对应表的某个区块中。我们可以将算法思想分为两个部分:

**向哈希表中插入一个关键码值:**哈希函数决定该关键字的对应值应该存放到表中的哪个区块,并将对应值存放到该区块中。
**在哈希表中搜索一个关键码值:**使用相同的哈希函数从哈希表中查找对应的区块,并在特定的区块搜索该关键字对应的值。

哈希表的结构

哈希表的结构本质是数组+链表

参考文档:数据结构-哈希表_哈希表数据结构-CSDN博客

相关推荐
自我意识的多元宇宙4 分钟前
数据结构----插入排序
数据结构·算法·排序算法
im_AMBER5 分钟前
Leetcode 162 除了自身以外数组的乘积 | 接雨水
开发语言·javascript·数据结构·算法·leetcode
cpp_250116 分钟前
P1873 [COCI 2011/2012 #5] EKO / 砍树
数据结构·c++·算法·题解·二分答案·洛谷·csp
AI人工智能+电脑小能手16 分钟前
【大白话说Java面试题】【Java基础篇】第18题:HashMap底层是如何扩容的
java·开发语言·面试·散列表·hash-index·hash
啊哦呃咦唔鱼18 分钟前
leetcodehot100-347. 前 K 个高频元素
数据结构·算法·leetcode
handler0143 分钟前
进程状态流转的本质:Linux 内核队列与底层数据结构解密
linux·运维·c语言·数据结构·c++·笔记·学习
shehuiyuelaiyuehao1 小时前
算法13,滑动窗口,水果成篮
算法·哈希算法·散列表
自我意识的多元宇宙1 小时前
数据结构--散列函数的构造方法
数据结构
如君愿1 小时前
考研复习 Day 25 | 习题--计算机网络第三章(数据链路层 上)、数据结构(串)
数据结构·计算机网络·考研
夏末蝉未鸣011 小时前
Sort-Merge Join【排序连接算法】详解(python代码实现,以FULL JOIN为例)
数据结构·算法