为什么treemap在Get / put中占用O(log(n))时间

时间:2014-10-20 05:52:32

标签: java treemap

在其中一篇帖子中,我看到TreeMap需要O(log(n))时间才能获得/放置。 有人可以回答为什么需要O(log(n)),即使它可以直接通过get / put使用密钥进行搜索吗?

1 个答案:

答案 0 :(得分:6)

在TreeMap中,键/值条目存储在红黑树中,为了查找树中是否包含键,您必须从根,沿某个路径遍历它,直到到达所需的钥匙或到达一片叶子。

包含n个元素的树的高度为O(log n),因此这是搜索密钥所需的时间。