Name of data structure where each node has [0, n] known children and [0, 1] unknown parents?
与往常一样,图表比文字更能说明这一点:
一个节点可能有也可能没有父节点。一个节点可能只有一个父节点,因此 [0, 1] 父节点。它不存储任何关于父节点的信息,因此节点不知道它是否有父节点。
一个节点可能有也可能没有任何子节点。一个节点可以有任意多的孩子,所以 [0, n] 个孩子。它存储有关如何到达其每个子节点的信息。
这种类型的数据结构有专门的术语吗?它本质上是一个有多个孩子的链表。
它被称为森林,即树木的集合。 (在一棵树中只有一个无父节点,称为根。)
完全不像链表的森林;首先,因为可能有多个无父节点,所以它是一个集合;其次,因为一个节点可以有多个后代,遍历树与遍历列表有很大不同,树的生长可以通过多种方式发生,一般来说,树提供了许多有趣的选项,而列表却没有。
附言问题中的图表显示了一棵树。问题的文本并没有说只有一个无父节点,这就是所描述的数据结构是森林的原因。如果保证不超过一个节点是无父节点,则数据结构是一棵树。