二叉树宽度是什么?
来源:百度知道 编辑:UC知道 时间:2024/05/27 04:52:23
我是初学者想要具体的定义!
宽度:节点的叶子数
深度:节点的层数
算法上有所谓的"宽度优先算法"和"深度优先算法"
二叉树的宽度定义为具有最多结点数的层中包含的结点数。
比如上图中,
第1层有1个节点,
第2层有2个节点,
第3层有4个节点,
第4层有1个节点,
可知,第3层的结点数最多
所以这棵二叉树的宽度就是4
要求二叉树的宽度的话,则可根据树的高度设置一个数组temp。temp[i]用于存放第i层上的结点数(即宽度)。在访问结点时,把相应计算该结点下一层的孩子数并存入相应数组元素中,遍历左子树后向上返回一层计算右子树的宽度,并取出最大的一个数组元素作为树的宽度。
#define M 10 /