散列函数
python提供的散列函数为字典, 它由键和值组成。将网址映射成ip地址,这个过程被称为DNS解析,散列表是提供这种功能的方式之一。
使用散列表可以用于查找、快速的检查重复、缓存/记住数据(以防服务器再处理)。
散列表会产生冲突,两个键映射到相同的位置,在这个位置存储一个链表。注意,如果链表很长,散列表的速度会加剧下降。
避免冲突的方法:一、较低的填充因子(散列函数中个数较少较好);二、良好的散列函数(让散列函数中的值呈均匀分布,减少链表的使用)
ps:
一旦填充因子超过0.7,把散列函数的长度变为原来的2倍。
book = dict() # book = {}
book["apple"]=2
price = book["apple"] # 检查 apple是否在散列表中,如果在返回值2,如果不在返回None.