每个节点有 [0, n] 已知 children 和 [0, 1] 未知 parents 的数据结构名称?
Name of data structure where each node has [0, n] known children and [0, 1] unknown parents?
一如既往,图表比文字更能说明这一点:
一个节点可能有也可能没有 parent。一个节点可能只有一个parent,所以[0, 1] parents。它不存储有关 parent 的任何信息,因此节点不知道它是否具有 parent.
一个节点可能有也可能没有任何children。一个节点可以拥有任意数量的 children,因此 [0, n] children。它存储有关如何到达每个 child 节点的信息。
这种数据结构有专门的术语吗?它本质上是一个有多个children.
的链表
它被称为森林,即树的集合。 (在一个tree中只有一个无父节点,称为root。)
完全不像链表的森林;首先,因为可能有多个无父节点,所以它是一个集合;其次,因为一个节点可以有多个后代,所以遍历树与遍历列表是完全不同的,树的生长可以通过多种方式进行,并且通常树提供许多列表所没有的有趣选项。
P.S。问题中的图表显示了一棵树。问题的文本没有说只有一个无父节点,这就是为什么描述的数据结构是森林。如果保证不超过一个节点是无父节点,那么数据结构就是一棵树。
一如既往,图表比文字更能说明这一点:
一个节点可能有也可能没有 parent。一个节点可能只有一个parent,所以[0, 1] parents。它不存储有关 parent 的任何信息,因此节点不知道它是否具有 parent.
一个节点可能有也可能没有任何children。一个节点可以拥有任意数量的 children,因此 [0, n] children。它存储有关如何到达每个 child 节点的信息。
这种数据结构有专门的术语吗?它本质上是一个有多个children.
的链表它被称为森林,即树的集合。 (在一个tree中只有一个无父节点,称为root。)
完全不像链表的森林;首先,因为可能有多个无父节点,所以它是一个集合;其次,因为一个节点可以有多个后代,所以遍历树与遍历列表是完全不同的,树的生长可以通过多种方式进行,并且通常树提供许多列表所没有的有趣选项。
P.S。问题中的图表显示了一棵树。问题的文本没有说只有一个无父节点,这就是为什么描述的数据结构是森林。如果保证不超过一个节点是无父节点,那么数据结构就是一棵树。