除了 "Natural" 之外,还有什么其他方法可以定义树?

What are other ways than "Natural" to define trees ?

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

A tree can be defined in several ways. One natural way to define a tree is recursively

有哪些其他方式来定义树,而不是自然方式[=21] =]

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

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

树是连通的、无环的、无向图。

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

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

您的引用指的是这样一个事实,即对于树的一个节点,它的所有子节点都是单独的树,因此是简单的(递归)定义。