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

什么是哈希表

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

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

散列表的特点

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

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

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

哈希表的关键

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

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

哈希表的结构

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

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

相关推荐
?abc!3 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
爱读书的小胖6 小时前
LeetCode 55 跳跃游戏 C 语言解题分析
c语言·数据结构·算法·leetcode·1024程序员节
舰长1157 小时前
将百万数据插入到 Redis,有哪些实现方案?
数据结构·redis·开源
若亦_8 小时前
数据结构>>优先级队列(堆)
java·数据结构
bksczm9 小时前
Redis数据结构之hash
数据结构·redis·哈希算法·1024程序员节
星夜离尘5611 小时前
MATLAB 因果采样保持:用历史匹配和数据年龄防止未来信息泄漏
数据结构·算法·matlab
思麟呀12 小时前
BTree的原理与 C++ 完整实现
c语言·数据结构·c++·算法·1024程序员节
黄俊懿12 小时前
【架构师从入门到进阶】第七章:缓存和存储的优化思路——第一节:缓存概述
数据结构·数据库·分布式·缓存·架构·系统架构·1024程序员节
晒太羊的猫13 小时前
hot100 堆
数据结构
啵啵啵鱼13 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践
数据结构·1024程序员节