[笔记]《算法图解》第五章 散列表
它必须是一致的。
例如,假设你输入apple时得到的是4,那么每次输入apple时,得到的都必须为4
它应将不同的输入映射到不同的数字。
例如,如果一个散列函数不管输入是什么都返回1,它就不是好的散列函数。最理想的情况是,将不同的输入映射到不同的数字。
缓存/记住数据,以免服务器再通过处理来生成它们。
需要做的工作更少。
缓存是一种常用的加速方式,所有大型网站都使用缓存,而缓存的数据则存储在散列表中!
# 你可使用函数 dict 来创建散列表。
>>> book = dict()
# 创建散列表 book 后,在其中添加一些商品的价格。一个苹果的价格为67美分
>>> book["apple"] = 0.67
>>> book["milk"] = 1.49
# 牛奶的价格为1.49美元
>>> book["avocado"] = 1.49
>>> print book
{'avocado': 1.49, 'apple': 0.67, 'milk': 1.49}
# 非常简单!我们来查询鳄梨的价格。
>>> print book["avocado"]
1.49
cache = {}
def get_page(url):
if cache.get(url):
return cache[url]
# 返回缓存的数据
else:
data = get_data_from_server(url)
cache[url] = d
原文:https://www.cnblogs.com/everfight/p/grokking_algorithms_note_5.html