2012-09-21 121 views
6

我正在阅读Robert Sedwick的算法。这本书的一些定义如下所示。有序树和无序树(根)之间的区别

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

有根树(或无序树)是连接到有根树的多重集的节点(称为根) 。 (被

  1. 我有以上defintions理解difficutlty这样一个多重称为 无序的森林。

我在上面的文字问题。任何一个可以请举例说明。

  • 什么是笔者通过不相交的树呢?
  • 是什么笔者通过多集根的树呢?
  • 感谢您的时间和帮助

    +0

    有序和无序树之间的区别是子树有(或没有)一个顺序。每个节点有一个第一个,第二个,第n个子树:T1,T2,...,Tn(在另一种情况下只有n个子树)。 –

    回答

    2
    1. 通过这个定义树是或多或少我们通常所说的按树明白:连接的(子)树的有序序列的一个节点。这是一个递归定义:如果序列为空,则该节点被称为叶,,如果不是,则该序列中的每个树也是“连接到(子)树的有序序列的节点”。
    2. 通过使作者脱节意味着子树不具有共同的节点。
    3. 定义意味着有根树的子树不是按特定顺序排列的,它们可以重复。 A multiset就像一个允许倍数的集合。

    有序树(第一个定义的“树”)具有特定顺序的子树,并且子树序列不能包含相同的树两次,因为子树必须是不相交的。有根树不具有这些限制;通过这个定义,根可能有一个子树两次,在一个类似于一个循环的结构中。

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

    +0

    感谢您的解释。顺便再提一个问题,什么是免费树和无根树? – venkysmarty

    +0

    一旦你有一棵树,你可以选择任何节点作为根,它仍然是一棵树。 “free”或“unrooted”树是没有选择节点作为根的树。 http://en.wikipedia.org/wiki/Free_tree – Joni

    +0

    *“A **正常**树具有特定顺序的子树”*。我想你是指**有序树**,不正常。一个(作者)的正常/默认是不是另一个。 –

    相关问题