平凡树很简单:它只有一个节点既是根节点也是叶子节点。没有其他分支或子节点!
平凡树的定义
平凡树是指只有一个节点的树形结构。这个节点同时充当根节点和叶节点,没有任何孩子节点。它是最小的树!
平凡树的例子
想象一下一棵真正的树。一棵平凡树就像还没有开始生长, 就只存在一枚树种这样的情况 。没有树枝,没有叶子,只有一个树干(单个节点)!
在计算机科学中,一个仅包含根节点的数组或链表可以看作一个平凡树。例如,一个包含单个元素[5] 的整数数组,或者包含单个字符串对象的节点列表. 这些都可以抽象为平凡树.
平凡树在不同情境下的应用
虽然平凡树结构简单,但它在特定的算法和数据结构中有它自己的作用。一些算法可能以平凡树作为初始或结束状态。而且很多递归函数,会通过判断空集或单节点情形降低本身代码结构体的复杂程度,即默认使用或者实现简单的单个元素特殊化方式!
关于平凡树的常见问题
问:平凡树有什么用?
答: 平凡树本身实用性不强,常作为某些算法(例如递归)的基准,方便设定运行终止基线. 或者一些数据结构空的起始状态.
问:平凡树和常规树有什么区别?
答: 常规树包含不止一个节点;一个根节点,还有多个子节点、叶节点构成一棵拥有结构完整的的树. 而平凡树仅仅只有一个节点。 区别在于节点数量和树的拓扑结构!
问:所有树结构都能表示成一个扩展/变化的平凡树是吗(一种极简观点)?
答:并非所有树,平凡树是一个“单用户版数据类型”,可以通过将它添加到空对象上最终可以形成一普通一树。然而树这个算法数据容器允许出现无穷树高度,所以一种特殊的极大的扁平的可以等同于无限多元组数据元素(树),不能等同说扁平树就是平凡树。或者一个无限维向量!