散列表查找算法,python离散数学
如果你是第一次听说散列表,没关系!因为你可能根本不需要自己实现哈希表,任何优秀的语言都提供了哈希表的实现。Python提供的哈希表是作为字典实现的,可以使用dict函数来创建哈希表。接下来,你可以和边肖一起学习如何使用这个哈希表~
我们知道Python中的字典是键值形式的。如果插入key=Python Big Star 和value=123456的值,如何让更多的key-value均匀分布在数组上,而不是集中在数组的一个索引值上,浪费空间?
1、hash算法
常用的算法是哈希算法,index=HashCode(Key) (Length-1)
2、数组默认长度
一般选择16或者2的幂,因为这个长度计算出来的索引可以均匀分布在Length-1中。
3、扩容机制
为什么需要扩张?想象一下,当我们添加越来越多的元素时,就会出现哈希碰撞,也就是说哈希算法得到的索引是一样的。我们知道链表搜索的时候是从开始节点开始,比数组慢。这时,我们可以在一定的阈值范围内采用扩展机制,使添加的元素均匀地扩散到其他地方。
Python 语言:
创建地址簿并创建新的哈希表。
添加新的联系人
phone_book[python]=123456
Phone_book[python]=123457找人
打印(phone_book[python])
Print(phone_book.get(python ))好了,哈希表算法到此为止。可以按照上面小编准备的一系列程序来学习使用~更多学习内容在热门it软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。