Big-Man 发表于 2019-9-2 15:42:52

有点难度啊{:5_100:}

琉魂 发表于 2019-9-4 21:44:34

有俩问题
1.哈希成6位结果,那整数0~16777216的哈希值必有碰撞,万一出现碰撞怎么办?
2.这个地址结果是随机的,万一占用到其他段怎么办?

周涛 发表于 2019-9-7 09:22:00

受教了

王大力啊 发表于 2019-9-19 12:23:03

感觉还是似懂非懂。
我理解是不是因为哈希相当于给每个元素贴了一个格式统一的“位置标签”,而序列没有这种位置标签,只能拿序列中的每个元素去挨个匹对。所以字典的搜寻速度快?
就像现实中的字典,每个字都在目录中根据字母或笔画的规律排列好,寻找时有规律可循,而不用一页一页的去寻找。

流星雨111 发表于 2019-9-20 11:18:39

感谢揭露事实的真相

雨冷青杉 发表于 2019-9-21 01:20:38

哈希算法是不可逆的吧?因为要是可逆的话,就不足以简单,但是不可逆的话又不符合一一对应的关系

雨冷青杉 发表于 2019-9-21 01:22:44

琉魂 发表于 2019-9-4 21:44
有俩问题
1.哈希成6位结果,那整数0~16777216的哈希值必有碰撞,万一出现碰撞怎么办?
2.这个地址结果是 ...

这个HASH算法不是大学里数据结构课里那个HASH表的算法。这里的HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突。所谓不可逆,就是当你知道x的HASH值,无法求出x;所谓无冲突,就是当你知道x,无法求出一个y, 使x与y的HASH值相同。这两条性质在数学上都是不成立的。因为一个函数必然可逆,且由于HASH函数的值域有限,理论上会有无穷多个不同的原始值,它们的hash值都相同。MD5和SHA做到的,是求逆和求冲突在计算上不可能,也就是正向计算很容易,而反向计算即使穷尽人类所有的计算资源都做不到。我觉得密码学的几个算法(HASH、对称加密、公私钥)是计算机科学领域最伟大的发明之一,它授予了弱小的个人在强权面前信息的安全(而且是绝对的安全)。举个例子,只要你一直使用https与国外站点通讯,并注意对方的公钥没有被篡改,G**W可以断开你的连接,但它永远不可能知道你们的传输内容是什么。

雨冷青杉 发表于 2019-9-21 01:36:40

https://www.sohu.com/a/237819117_100137451

nemo2019 发表于 2019-9-25 15:50:23

元祖,还是元组?

anfree 发表于 2019-9-29 03:15:41

努力學習中~

dearuser 发表于 2019-10-5 10:48:51

谢谢看完了{:10_279:}

OnlyFive 发表于 2019-10-17 19:16:51

原来如此

Appleshow 发表于 2019-10-23 09:26:37

虽然数字指纹这样的词语不太明白,但是表达的整体意思可以懂,对字典Key值的理解更深一些了,谢谢。

wdlpszy 发表于 2019-12-8 18:02:13

没看懂

sxdtcyl658 发表于 2019-12-11 21:55:01

可哈希是不是可以理解为只有唯一内存地址

小花鬼 发表于 2019-12-20 11:33:14

呃,看了也没懂{:10_272:}

hxz19831212 发表于 2019-12-25 17:12:23

懂了,谢谢!!!

新学 发表于 2019-12-29 16:07:17

受教了

小灰1 发表于 2020-1-6 19:55:57

学到了

bo20000000 发表于 2020-1-16 14:57:59

存储的是对应的地址而不是对应的数据
页: 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27 28 29 30
查看完整版本: 你知道 Python 的字典(Dict)是如何存储的吗?