【发布时间】:2014-04-10 01:23:43
【问题描述】:
在一个项目中,我需要删除所有键值大于某个键的对象(键类型是Date,如果重要的话)。
据我所知,用 Java 实现的 TreeMap 是一棵红黑树,它是二叉搜索树。所以我应该在删除子树时得到O(n)。
但是我找不到任何方法可以做到这一点,除了制作一个尾视图并一个一个删除,这需要O(logn)。
实现这个功能有什么好主意吗?我相信 treeMap 是正确的数据结构,应该能够做到这一点。
提前致谢
【问题讨论】:
-
不成立。它是一棵红黑树并不意味着你可以在 O(N) 中删除一个子树。
-
什么是 N ? (N=lg(n)) ?问题是关于在 O(lg(n)) 而不是 O(n) 中删除它
标签: java binary-search-tree treemap