Java 查找二叉树中最大元素的程序

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

在本程序中,我们将找出给定二叉树中的最大节点。我们首先定义一个变量 max,它将保存根的数据。然后,我们遍历左子树以找到最大节点。将其与 max 比较,并将两者中的最大值存储在变量 max 中。然后,我们遍历右子树以找到最大节点,并将其与 max 比较。最后,max 将包含最大节点。

Java program to find the largest element in a Binary Tree

上图代表一个二叉树。最初,max 将包含 15。递归遍历左子树。

递归遍历右子树。

递归遍历 35 的左子树

递归遍历 35 的右子树

因此,上图二叉树中的最大节点是 74。

算法

  • 定义 Node 类,它具有三个属性:data、left 和 right。这里,left 代表节点的左子节点,right 代表节点的右子节点。
  • 使用适当的值分配节点的 data 部分,并将 left 和 right 设置为 null。
  • 定义另一个类,该类有一个 root 属性。
    • Root 代表树的根节点,初始化为 null。
    • largestElement() 将找出二叉树中的最大节点
    • 它检查 root 是否为 null,这意味着树是空的。
    • 如果树不为空,则定义一个变量 max,它将存储 temp 的数据。
    • 通过递归调用 largestElement() 来找出左子树中的最大节点。将该值存储在 leftMax 中。将 max 的值与 leftMax 进行比较,并将两者中的最大值存储在 max 中。
    • 通过递归调用 largestElement() 来找出右子树中的最大节点。将该值存储在 rightMax 中。将 max 的值与 rightMax 进行比较,并将两者中的最大值存储在 max 中。
    • 最后,max 将包含二叉树中的最大节点。

程序

输出

Largest element in the binary tree: 74
下一个主题Java 程序