Data structures 多根树结构

Data structures 多根树结构,data-structures,tree,big-o,Data Structures,Tree,Big O,我有这样一个数据,即有许多父节点,每个父节点都有0-n个子节点,其中每个子节点都可以有0-n个节点。每个节点都有一个唯一的标识符(密钥),最终,父节点彼此不连接。这似乎是一个树的列表,但这似乎不精确。我想用一个假根把它们连接起来 我需要能够组装出现的节点列表: 从任意给定节点向下(子节点) 从任何给定节点向下(子节点),然后向上到根节点(向上到特定父节点) 任何给定节点的顶级父节点(在O(n)操作中) 树中子级的级别(在O(n)操作中) 该结构将包含300000个节点 我在想,也许我可以实现

我有这样一个数据,即有许多父节点,每个父节点都有0-n个子节点,其中每个子节点都可以有0-n个节点。每个节点都有一个唯一的标识符(密钥),最终,父节点彼此不连接。这似乎是一个树的列表,但这似乎不精确。我想用一个假根把它们连接起来

我需要能够组装出现的节点列表:

  • 从任意给定节点向下(子节点)
  • 从任何给定节点向下(子节点),然后向上到根节点(向上到特定父节点)
  • 任何给定节点的顶级父节点(在O(n)操作中)
  • 树中子级的级别(在O(n)操作中)
该结构将包含300000个节点

我在想,也许我可以实现一个树列表,然后还可以维护一个哈希查找结构,该结构将引用一个特定的键值,为我提供一个节点作为起点


这是逻辑结构吗?有没有更好的办法处理?这对我来说似乎很粗糙。

如果你想快速找到一个根节点,你可以考虑创建一棵树,其中每个节点指向另一棵树。

这棵树是相对静态的还是经常修改的(即添加或删除节点)?这就是为什么我喜欢数据结构,你可以用它做疯狂的事情。极限是你的想象力。