Algorithm 有序和无序(根)树之间的差异

Algorithm 有序和无序(根)树之间的差异,algorithm,tree,Algorithm,Tree,我正在读罗伯特·塞德威克的算法。本书中的一些定义如下所示 树(也称为有序树)是连接到的节点(称为根节点) 一系列不相交的树。这样的序列称为森林 有根树(或无序树)是一个节点(称为根) 连接到多个有根树集。(这样的多集称为 无序的森林 我对上述课文的问题如下: 我很难理解上面的定义。有人能举例说明吗 作者所说的不相交树是什么意思 作者所说的多根树是什么意思 谢谢你的时间和帮助 这个定义中的树或多或少是我们通常理解的树:连接到有序(子)树序列的节点。这是一个递归定义:如果序列为空,则该节点称为叶,否

我正在读罗伯特·塞德威克的算法。本书中的一些定义如下所示

树(也称为有序树)是连接到的节点(称为根节点) 一系列不相交的树。这样的序列称为森林

有根树(或无序树)是一个节点(称为根) 连接到多个有根树集。(这样的多集称为 无序的森林

我对上述课文的问题如下:

  • 我很难理解上面的定义。有人能举例说明吗
  • 作者所说的不相交树是什么意思
  • 作者所说的多根树是什么意思
  • 谢谢你的时间和帮助

  • 这个定义中的树或多或少是我们通常理解的树:连接到有序(子)树序列的节点。这是一个递归定义:如果序列为空,则该节点称为叶,否则,序列中的每棵树也是“连接到有序(子)树序列的节点”
  • 作者所说的不相交意味着子树没有共同的节点
  • 这个定义意味着有根树的子树不是按特定的顺序排列的,它们可以重复。a有点像允许倍数的集合
  • 有序树(第一个定义中的“树”)具有特定顺序的子树,子树序列不能包含同一棵树两次,因为子树必须是不相交的。有根树没有这些限制;根据此定义,根可能有两次子树,其结构类似于循环


    我没有Sedwick的书来检查这个定义是否有意义或为什么有意义;一个更常见的定义或根树将使用一个正常的子树集,而不是一个多集。也许目的是允许一个节点和它的子节点之间有多个链接,同时不允许其他类型的循环,例如兄弟姐妹和堂兄弟姐妹之间的链接

    有序树和无序树之间的区别在于子树有(或没有)顺序。在一种情况下,每个节点都有第一子树、第二子树和第n子树:T1、T2、…、Tn(在另一种情况下,只有n个子树)。谢谢你的解释。顺便问一下,还有一个问题什么是自由树和无根树?一旦你有了一棵树,你可以选择任何节点作为根,它仍然是一棵树。“自由”或“无根”树是一棵没有节点被选作根的树。“普通树有特定顺序的子树”。我猜你的意思是一个有序的树,而不是正常的。一个(作者)的正常/默认值不是另一个。“并且子树不能重复,因为它们必须是不相交的”。不相交的子树并不意味着它们不能重复。例如:一个有根的树,只有3个子树(每个节点)有3个不相交但完全相同的子树。@谢谢,用ordered替换normal。