目录
1.概念
哈希表(Hash table,也叫散列表、非线性表),是根据关键码值(Key value)而直接进行访问的一种高效的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做哈希表。
给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。
①.哈希 :本质是一种算法思想、将数据根据哈希算法映射成键值,根据键值来写入或是査找数据,以实现査找数据O(1)时间复杂度
②.哈希碰撞(哈希冲突):多个数据通过哈希算法映射成同样的键值,说明产生哈希冲突【解决方法:链地址法】【若不发生哈希冲突,哈希的时间复杂度为O(1)】
③.链地址法 :数据产生哈希冲突通过在同一键值位置用链表实现多个数据的存储
提示 :现实中哈希函数是需要构造的,并且构造的好才能使用的好。
2.示例(将0-100数据存放到哈希表中)
①数据类型
②创建:
③在哈希表中插入一个数据(无头链表)
④显示哈希表中所有数据
⑤查找哈希表中单个数据
⑥销毁哈希表
3.应用
由于哈希表的特殊性质,其在安全加密(是现代密码体系中的一个重要组成部分),数据校验,唯一标识,负载均衡等场景都有着不可替代的作用。





