您好,登錄后才能下訂單哦!
這篇文章主要介紹python算法中散列表的使用方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
我們知道 Python 中的字典是 key - value 的形式,如果我們插入 key = 'Python大星',value = 123456的值,如何讓后續更多的 key - value 能均勻的分配到數組上,而不是在數組某個索引值上集中,浪費空間?
1、hash算法
常用的算法是 hash 算法,index = HashCode(Key) & (Length - 1)
2、數組默認長度
一般選擇 16 或者 2 的冪次方,這是因為這個長度計算的 index 能平均分配在 Length - 1 內
3、擴容機制
為什么需要擴容?設想當我們添加的元素越來越多時,會發生 hash 碰撞,就是說 hash 算法得出的 index 是同樣的。我們知道鏈表在查找的時候,從從頭節點開始查找,相對于數組是較慢的。這個時候我們可以在一定的閾值范圍內采取擴容機制,使添加的元素平攤到其他地方。
Python 語言:
① 創建通訊錄,新建一個散列表
phone-book =dicto
② 添加新的聯系人
phone_book[" python"]=123456 phone_book[" python"]=123457
③ 查找人員
print( phone_book[" python"]) print( phone_book.get(" python"))
以上是“python算法中散列表的使用方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。