除了“自然”以外,还有哪些方法来定义树木?

时间:2016-02-11 16:27:07

标签: data-structures tree

我正在阅读Data Structure and Algorithm Analysis in Java第4章 - 树木。 我在引用:

  

可以通过多种方式定义树。一种自然的方式来定义   树是递归的

自然方式 之外, 其他方式 定义树的内容是什么?

2 个答案:

答案 0 :(得分:1)

这里几种方式递归形成对比,而不是自然 - 这意味着除了递归之外还有其他方式来生成树实例。例如,您可以使用循环。递归是自然因为它是一个明显而优雅的策略,因为每个子树本身都是一棵树。在这里,递归代码将比循环实现更清晰,更容易理解(假设您理解递归)。

答案 1 :(得分:0)

您可以使用图论的术语定义树:

树是连接的非循环无向图。

或者你可以用它所包含的元素来描述它:

树是一种(可能是非线性的)数据结构,由节点或顶点和边组成,没有任何循环。没有节点的树称为空树或空树。(维基百科)

您的引用指的是,对于树的节点,其所有子节点都是单独的树,因此是简单(递归)定义。