目录
(1)标签,数据值
(2)创建字典
(3)更新字典
(4)访问字典的数据项
(5)查找
(6)字典的操作总结
(7)字典的操作总结
(8)字典的原理,哈希表
下方笔记相应的课程视频:
【『教程』哈希表是个啥?】 https://www.bilibili.com/video/BV1qR4y1V7g6/?share_source=copy_web&vd_source=615eb03d223cf19a23232ca4a7b70c1e
【哈希究竟代表什么?哈希表和哈希函数的核心原理】 https://www.bilibili.com/video/BV1SZ4y1z7wT/?share_source=copy_web&vd_source=615eb03d223cf19a23232ca4a7b70c1e
①哈希函数
哈希(hash)函数也被称为散列函数,杂凑函数。哈希转换后不可逆,而加密可逆。
借助哈希函数,可实现数据到存储位置的一对一映射,从而把数据的属性放在一张表里,这种表就是哈希表(散列表)。
②哈希表
哈希表和数组的区别:
③冲突(碰撞)
不同的输入可以得到相同的输出
解决冲突的方法:开发寻址法,封闭寻址法
ⅰ.封闭寻址法
当某个结点发生冲突时,把插入数据放入当前节点的链表里,如果需要查看插入的数据,依旧使用哈希函数,得到的索引值进入链表里逐个查找。
但可能会发生集群现象。
ⅱ .开发寻址法
线性探测法
直接往下,再冲突再往下
二次探测法
发生冲突时,先往下(1^1),若又冲突,找2^2,又又冲突,找3^3
双重哈希,布谷鸟哈希法
④哈希算法
MD5,SHA
⑤哈希的应用
数据检索,密码保存,文件对比,数字签名,MAC,数字指纹