【发布时间】:2015-11-25 04:52:35
【问题描述】:
有人可以评论一下随着我们进一步“嵌套”字典的复杂性如何增加?
例如,我添加一个元素如下:
dict_name[a][b][c][d] = 0
我认为任何字典的查找时间都应该相同(恒定时间 O(1)),但是如果我添加这样的元素,它会显着改变吗?
dict_name[a][b][c]....[z]
【问题讨论】:
-
您是否意识到维度 26 的数组将至少包含 2^26=67108864 个不同的字典(假设每个维度允许 2 个不同的值;并且 2541865828329 个字典对于每个维度的 3 个值,这远远超出PC 能处理什么)?
-
你似乎没有理解
O(1)的概念。如果您执行O(1)操作固定次数,您仍然会得到O(1) -
This SO answer解释了为什么常量元素无关紧要(除了它)。
-
@YvesDaoust 感谢您澄清这一点。我很好奇嵌套字典会对时间和内存产生什么影响 :)
标签: python dictionary time time-complexity lookup