java - 具有可比用户对象的Java中的N元搜索树?

标签 java search n-ary-tree

假设我正在使用 javax.swing.tree.DefaultMutableTreeNode 构建一棵树,并将 N 个子节点添加到特定节点。我希望子项按特定顺序排列(基于 Comparable/自定义比较器),就像搜索树一样,即使我乱序插入它们也是如此:

node.insert(child2);
node.insert(child3);
node.insert(child1);

但 DefaultMutableTreeNode 不会进行任何类型的排序。对于我的特殊情况,我什至知道父数组中子节点的所需索引,但我尝试了 DefaultMutableTreeNode.insert 并得到了很多 ArrayIndexOutOfBoundsExceptions。

谁能推荐一个满足我需要的库?还是我必须自己编写这样的搜索树?

最佳答案

通常,您在树中插入节点,以便它保持对某些 traversal order 排序.这取决于树的拓扑结构。您可能会从 How to Use Trees, Creating a Data Model 中获得一些实现思路。 .特别是,“TreeModel 接口(interface)接受任何类型的对象作为树节点。它不需要节点由 DefaultMutableTreeNode 对象表示,甚至不需要节点实现 TreeNode 接口(interface)。”

关于java - 具有可比用户对象的Java中的N元搜索树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2292929/

相关文章:

java - 如何为 Android 创建类似 iphone 的搜索

java - 导入类库时的安全问题

java - Intent 并不总是按预期工作

c# - 用于从关键字中检索相似词的 API?

php - 支持模糊搜索的最容易实现的站点搜索应用程序是什么?

java - 无法将我的头缠绕在填充一元树上

java - 广度优先 N 叉树遍历

java - 为什么在期望数组返回该数组的大小为 1 时传递空字符串?

java - 不推荐使用 QueryBuilder 类型中的方法 andProperty(String) - Javers