java - 我应该如何在Java中实现这种树状概念?

标签 java tree hashmap

请看一下:

Tree Like architecture

所以基本上我有一个类似树的架构,它并不是真正的树,因为根节点可能始终可用,也可能不始终可用。

根连接到许多子级,而这些子级又可能连接也可能不连接到其他子级。某一特定级别的所有节点或具有不同 id 作为标识符的类似对象。

我正在考虑将其实现为一棵树,但是对于大型数据集,可能很难搜索特定节点。或者我应该在每个级别创建一个 map 对象,并根据它们的 key 我将能够搜索它们与父节点的关系(如果存在或不存在)?

或者你认为还有其他更好的方法来做到这一点,因为如果我把它当作一棵树,它会随机生长,再加上它的扩展,我有一个问题,一些 child 会有很多父节点,这可能不是可能在树上??

请提出一些实现想法?

最佳答案

您可以将其表示为有向图:每个节点都有来自其父节点的传入边和到其子节点的传出边:

public class Node {
    private List<Object> parents;   // incoming
    private List<Object> children;   // outgoing
}

关于java - 我应该如何在Java中实现这种树状概念?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8225661/

相关文章:

java - 包括不在 .dex 文件中的 Java 库

c++ - R^3(x,y,z)中快速随机访问和顺序访问的数据结构

c++ - N 元树级别遍历错误 (C++)

python - 使用递归的二叉树中的最低公共(public)祖先

java - HashMap用于存储大Cache

Java 扩展 Map.entry() 而不使用泛型

java - HashMap 包含多个具有相同值的不同键?

java - 单击某些 ListView 项目时如何调用特定号码

java: 三元运算符中的奇怪 NullPointerException (?:)

java - ZooKeeper 在 WIndows 上的生产环境中