有人知道一种快速检测给定元素在TreeSet中处于什么级别的方法吗?层级是指该元素在树中的深度,即其祖先的数量。
背景。 我使用 Java 的 TreeSet 类来存储我的元素。为了比较两个元素,我需要计算一些关于它们的辅助信息。我无法为每个元素存储这些辅助信息,因为它会占用太多内存。另一方面,如果我为每次比较重新生成辅助信息,我的程序就太慢了。当一个元素被插入到 TreeSet 中时,我当前的实现会计算它插入的元素的辅助信息,并且在元素在 TreeSet 中找到它的位置之前不会重新计算它。之后,辅助信息被丢弃。为了加快我的程序,我还想为 TreeSet 的顶层存储辅助信息,因为它们涉及许多比较。因此,在比较两个节点之后,
更新。 如果有人可以建议一个替代类来实现某种平衡树(AVL 树、红/黑树、Splay 树……),并且可以访问元素的高度,我也将不胜感激。