What is the resizing factor of lists in Python(在Python中列表的大小调整系数是多少)
本文介绍了在Python中列表的大小调整系数是多少的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如,Java中的ArrayList的大小调整系数为2。当ArrayList所环绕的数组空间不足时,该数组的所有元素都将转移到一个新数组中,该数组的大小是原始数组的2倍。
既然Python列表/数组自然是动态的,那么它们的大小调整因素是什么?或者,他们是否使用其他一些扩展方法?如果是的话,那是什么方法呢?它的渐近运行时(大O)是多少?
推荐答案
特别是objects/listobject.c中实现了调整时的超配。它被描述为
温和,但..。足以在性能不佳的系统realloc()存在的情况下,在较长的append()序列上提供线性时间摊销行为。当列表需要增长时,它将增长到大约所需大小的112.5。特别是,实际大小为
new_size + new_size >> 3 + (newsize < 9 ? 3 : 6)。
这篇关于在Python中列表的大小调整系数是多少的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:在Python中列表的大小调整系数是多少
基础教程推荐
猜你喜欢
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
