请看一下:
所以基本上我有一个类似树的架构,它并不是真正的树,因为根节点可能始终可用,也可能不始终可用。
根连接到许多子级,而这些子级又可能连接也可能不连接到其他子级。某一特定级别的所有节点或具有不同 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/