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

什么是哈希表

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

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

散列表的特点

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

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

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

哈希表的关键

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

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

哈希表的结构

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

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

相关推荐
Excuse_lighttime14 分钟前
只出现一次的数字(位运算算法)
java·数据结构·算法·leetcode·eclipse
liu****15 分钟前
笔试强训(二)
开发语言·数据结构·c++·算法·哈希算法
Syntech_Wuz2 小时前
从 C 到 C++:容器适配器 std::stack 与 std::queue 详解
数据结构·c++·容器··队列
艾莉丝努力练剑4 小时前
【C++STL :stack && queue (一) 】STL:stack与queue全解析|深入使用(附高频算法题详解)
linux·开发语言·数据结构·c++·算法
小此方4 小时前
C语言自定义变量类型结构体理论:从初见到精通(下)
c语言·数据结构·算法
im_AMBER4 小时前
数据结构 05 栈和队列
数据结构·笔记·学习
_poplar_5 小时前
15 【C++11 新特性】统一的列表初始化和变量类型推导
开发语言·数据结构·c++·git·算法
GawynKing6 小时前
红黑树-带源码
数据结构·算法·二叉树··红黑树
一语雨在生无可恋敲代码~7 小时前
leetcode724 寻找数组的中心下标
数据结构·算法
晨非辰7 小时前
《超越单链表的局限:双链表“哨兵位”设计模式,如何让边界处理代码既优雅又健壮?》
c语言·开发语言·数据结构·c++·算法·面试