Python dict 底层结构
dict 底层使用的哈希表
为了支持快速查找使用了哈希表作为底层结构(Cpython解释器实现也使用哈希表)
哈希表平均查找时间复杂度O(1)
Cpython解释器使用二次探查解决哈希冲突问题。
面试经常被问到的哈希表的实现原理和底层细节,第一个问题哈希表是怎么解决哈希冲突的常用方法有链接法和探查法,探查法又分为线性探查和二次探查等。第二个问题是哈希表是如何扩容的,哈希表就是一个数组,不断去添加元素时候如何去触发扩容操作,当前数据存储的数量(即size())大小必须大于等于阈值;当前加入的数据是否发生了hash冲突,满足这两个条件就会哈希扩容。
网友评论