《算法图解》第五章笔记与课后练习_散列函数与散列表
软件环境:Python 3.7.0b4 一、散列函数 无论你给它什么数据,它都还你一个数字。它必须满足一些要求: 它必须是一致的。例如,假设你输入apple时得到的是4,那么每次输入apple时,得到的都必须为4。 它应将不同的输入映射到不同的数字。例如,如果一个散列函数不管输入是什么都返回1,那它就不是好的散列函数。最理想的情况是 将不同的输入映射到不同的数字。 使用函数dict来创建散列表 >>> book = dict() >>> book["apple"] = 0.67 # 一个苹果的价格是67美分 >>> book["milk"] = 1.49 >>> book["avocado"] = 1.60 >>> print(book) {'apple': 0.67, 'milk': 1.49, 'avocado': 1.6} >>> print(book["milk"]) 1.49 # 牛奶的价格 散列表由键和值组成。在前面的散列表book中,键为商品名,值为商品价格。散列表将键映射到值。 二、应用案例 1,将散列表用于查找 假设你要创建一个电话簿,将姓名映射到电话号码。该电话簿需要提供如下功能: 添加联系人及其电话号码。 通过输入联系人来获悉其电话号码。 下面我们来使用散列表进行对电话簿的创建映射和查找。 2,防止重复 假如你负责管理一个投票站,每个人只能投一票