问:查找树的最大深度或高度的程序

2025年3月17日 | 阅读 7 分钟

说明

在这个程序中,我们需要找出二叉树的最大高度。二叉树的高度可以定义为根节点到叶子节点的节点数。最大高度将是根节点和最深叶子节点之间的层数。为了解决这个问题,我们遍历左子树并计算左子树的高度。再次,通过遍历右子树来计算右子树的高度。最大高度将是左子树高度和右子树高度中的最大值。

Program to find the maximum depth or height of a tree

在上面的二叉树中,

左子树的高度为 2。
右子树的高度为 4。
MaxHeight = Max(leftHeight, rightHeight) + 1;这里,1 代表根节点的高度

给定二叉树的最大高度为 (4 + 1) = 5,用白色虚线表示。

算法

  1. 定义 Node 类,它有三个属性:data、leftright。其中,left 表示节点的左子节点,right 表示节点的右子节点。
  2. 创建节点时,数据将传递到节点的 data 属性,left 和 right 都将设置为 null。
  3. 定义另一个类,该类有一个 root 属性。
    1. Root 表示树的根节点,并将其初始化为 null。
  4. findHeight() 将确定二叉树的最大高度
    1. 它检查 root 是否为 null,这意味着树是空的。
    2. 如果树不为空,则遍历左子树以确定左子树的高度并将其值存储在 leftHeight 中。
    3. 类似地,确定右子树的高度并将其值存储在 rightHeight 中。
    4. Maximum 将确定 leftHeight 和 rightHeight 中的最大值,然后加 1 作为根节点的高度。

解决方案

Python

输出

Maximum height of given binary tree: 5

C

输出

Maximum height of given binary tree: 5

JAVA

输出

Maximum height of given binary tree: 5

C#

输出

Maximum height of given binary tree: 5

PHP

输出

Maximum height of given binary tree: 5
 
下一个主题程序列表