查找的次数降低到常数级别。即事先知道要查找的数据项应该出现在什么位置。
散列表(hash table, 哈希表),表中的每一个存储位置,成为槽(slot),可以用来保存数据项,每个槽有一个唯一的名称。有利于快速的查找定位。
散列函数:实现从数据项到存储槽名称的转换的函数。
常用的散列方法是求余数,将数据项除以散列表的大小,得到的余数作为槽号。
完美散列函数:如果一个散列函数能把每个数据项映射到不同槽中,成为完美散列函数。
但如果数据经常变动,则不一定总是完美的,会发生冲突。
python的散列函数库hashlib
,包括了MD5和SHA系列的散列函数。
>>>import hashlib
>>>hashlib.md5("hello world!".encode