问一下“二叉树不是树的一种特殊情形”这句话怎么理解?是不是说二叉树不是树

C++语言 码拜 8年前 (2016-05-22) 3090次浏览
“二叉树不是树的一种特殊情形”这句话怎么理解?是不是说二叉树不是树?
解决方案

4

二叉树是球,只是树的特殊形式,每个根结点最多有左右两个子树

2

这样理解也是可以的。但是还有概念叫做“有序树”。本人认为概念没必要扣那么死。
在本人看来,二叉树就是一种树。这完全是在于你怎样去定义“树”的概念。

2

“二叉树不是树的一种特殊情形”
这话,是从实现来说的。
二叉树的实现,和通常树的实现,是两回事。
二叉树,很自然的实现为二叉链表(有左右子树的指针),
三叉链表(左右子树的指针,以及双亲指针)
树通常实现为兄弟孩子链表。(有孩子指针,兄弟指针,两个指针)
也是一种二叉链表,但是结构跟二叉树不同
也可能实现为 兄弟孩子双亲指针链表,(不同于二叉树的另一种三叉链表)
而且,通常并不先实现树,然后让二叉树继承树
也不采用,抽象类,和实现类的继承关系,实现树和二叉树

但从逻辑结构来说,二叉树,就是树的一种特殊形态。
但是具体实现数据结构的时候,往往二叉树,和树 是两种不同的数据结构实现。

2

从面向对象,角度看。
二叉树,和树也不适合看成一类。
原因是树的结构,以及接口,
都不是很适合二叉树。
二叉树,和树独立编码更合适。
这样看来,说“二叉树不是树的一种特殊情形”
也是可以理解的。

6

树的子节点没顺序,二叉树分左右
a     a
/   和   \
b           b
假如是二叉树,则是不同的二叉树,假如是树,则是一样的树

12

树、二叉树两者概念不同,二叉树是有严格定义的,二叉树并非树的特例

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明问一下“二叉树不是树的一种特殊情形”这句话怎么理解?是不是说二叉树不是树
喜欢 (0)
[1034331897@qq.com]
分享 (0)