社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

分析Python的Dict insert运行时间有什么错?

D. Ulick • 3 年前 • 1242 次点击  

根据我对Python源代码的理解,插入dict的工作原理如下:

insert(e)

  1. 允许 j 是已分配数组中的元素数,并且 k 是数组的大小。(与 K 存在 8
  2. 如果 j+1 < 2/3k 插入 e 进入这个位置 hash(e)%k (暂时不要担心碰撞)
  3. 否则,将数组调整为两倍大小的数组。 K 现在是两倍大,这需要 O(k_prev)

对于 n 插入,有 log(n)-3 调整总时间复杂度的大小 O(log(n)) 但所有网上资源似乎都在说,我应该把这次行动看作是 O(1) ?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133913
 
1242 次点击  
文章 [ 2 ]  |  最新文章 3 年前