Java 查找树中最小元素的程序

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

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

Java program to find the smallest element in a tree

上面的图表示一个二叉树。最初,min 将保存 4。递归遍历左子树。

递归遍历右子树。

递归遍历 3 的右子树

因此,上面二叉树中的最小节点是 1。

算法

  • 定义 Node 类,该类包含三个属性:data、left 和 right。这里,left 表示节点的左子节点,right 表示节点的右子节点。
  • 创建节点时,数据将传递到节点的 data 属性,left 和 right 都将设置为 null。
  • 定义另一个类,该类有一个 root 属性。
    • Root 表示树的根节点,并将其初始化为 null。

a. smallestElement() 将找出二叉树中的最小节点

  • 它会检查根是否为空,这意味着树是空的。
  • 如果树不为空,则定义一个变量 min,该变量将存储 temp 的数据。
  • 通过递归调用 smallestElement() 来查找左子树中的最小节点。将该值存储在 leftMin 中。将 min 和 leftMin 的值进行比较,并将两者中的较小者存储到 min 中。
  • 通过递归调用 smallestElement() 来查找右子树中的最小节点。将该值存储在 rightMin 中。将 min 和 rightMin 的值进行比较,并将两者中的较小者存储到 min 中。
  • 最后,min 将包含二叉树中的最小节点。

程序

输出

Smallest element in the binary tree: 1
下一个主题Java 程序