ets包的delete_object
的运行时间是多少?假设有n
个条目具有相同的密钥k
,那么delete_object
的运行时是O(n)
还是O(1)
?如果确实是O(1)
,lookup
操作如何返回按插入时间排序的所有元组?
谢谢!
答案 0 :(得分:4)
这个erlang邮件列表上的帖子来自2011年,但我认为它可能仍然存在:
http://erlang.org/pipermail/erlang-questions/2011-October/061705.html
Sverker Eriksson给出的答案意味着,查找时间将是O(n)
与相等键的数量:
平均时间为分散键的插入/查找/移除的时间。一种 具有很多相同键的袋子可能会导致性能下降 导致在具有相同键(以及其他键)的对象之间进行线性搜索 恰好会散列到同一存储桶)。