为什么Java将整个数组增长3/2而不是2?
"a的选择取决于库或应用程序:一些教科书使用a = 2,但Java的ArrayList实现使用a = 3/2而Python的列表数据结构的C实现使用a = 9/8."
来源维基百科
一般来说,增长因子的选择主要取决于经验和良好的教育猜测.您必须在不必要的内存使用(对于未使用的数组空间)和不必要的运行时使用(如果必须经常放大数组)之间找到适当的平衡.您还必须在不知道列表有多大的情况下执行此操作.之所以在Java中它是3/2只是因为有人认为它是最好的.
| 归档时间: |
|
| 查看次数: |
717 次 |
| 最近记录: |