二叉树宽度是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:52:23
我是初学者想要具体的定义!

宽度:节点的叶子数
深度:节点的层数

算法上有所谓的"宽度优先算法"和"深度优先算法"


二叉树的宽度定义为具有最多结点数的层中包含的结点数。

 

 

比如上图中,

第1层有1个节点, 

第2层有2个节点, 

第3层有4个节点, 

第4层有1个节点,

可知,第3层的结点数最多

所以这棵二叉树的宽度就是4

要求二叉树的宽度的话,则可根据树的高度设置一个数组temp。temp[i]用于存放第i层上的结点数(即宽度)。在访问结点时,把相应计算该结点下一层的孩子数并存入相应数组元素中,遍历左子树后向上返回一层计算右子树的宽度,并取出最大的一个数组元素作为树的宽度。

#define M 10 /