我对哈希表的时间复杂性感到困惑很多文章表明它们是"摊销的O(1)"而不是真正的命令O(1)这在实际应用中意味着什么.哈希表中的操作的平均时间复杂度是多少,实际实现中不是理论上的,为什么操作不正确O(1)?
为什么seta 的大小比 a 的大小大dict?
s = set()
d = {}
for i in range(20):
s.add(i)
d[i] = 1
print(f'{i+1}:', s.__sizeof__(), d.__sizeof__())
Run Code Online (Sandbox Code Playgroud)
输出:
...
17: 712 624
18: 712 624
19: 2248 624
20: 2248 624
Run Code Online (Sandbox Code Playgroud)
第 19 个结果让我困惑。