我正在阅读Data Structure and Algorithm Analysis in Java第4章 - 树木。 我在引用:
可以通过多种方式定义树。一种自然的方式来定义 树是递归的
除 自然方式 之外, 其他方式 定义树的内容是什么?
答案 0 :(得分:1)
这里几种方式与递归形成对比,而不是自然 - 这意味着除了递归之外还有其他方式来生成树实例。例如,您可以使用循环。递归是自然因为它是一个明显而优雅的策略,因为每个子树本身都是一棵树。在这里,递归代码将比循环实现更清晰,更容易理解(假设您理解递归)。
答案 1 :(得分:0)
您可以使用图论的术语定义树:
树是连接的非循环无向图。
或者你可以用它所包含的元素来描述它:
树是一种(可能是非线性的)数据结构,由节点或顶点和边组成,没有任何循环。没有节点的树称为空树或空树。(维基百科)
您的引用指的是,对于树的节点,其所有子节点都是单独的树,因此是简单(递归)定义。