问:查找二叉树中最小元素的程序。

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

说明

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

Program to find the smallest element in a Binary Tree

上图代表一棵二叉树。最初,min 将保存 4。递归遍历左子树。

递归遍历右子树。

递归遍历 3 的右子树

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

算法

  1. 定义 Node 类,该类包含三个属性:data、left 和 right。这里,left 表示节点的左子节点,right 表示节点的右子节点。
  2. 创建节点时,数据将传递到节点的 data 属性,left 和 right 都将设置为 null。
  3. 定义另一个类,该类有一个 root 属性。
    1. Root 表示树的根节点,并将其初始化为 null。
  1. smallestElement() 函数将找出二叉树中的最小节点。
    1. 它会检查 **root 是否为 null**,这意味着树为空。
    2. 如果树不为空,则定义一个变量 min,该变量将存储 temp 的数据。
    3. 通过递归调用 smallestElement() 来查找左子树中的最小节点。将该值存储在 leftMin 中。将 min 和 leftMin 的值进行比较,并将两者中的较小者存储到 min 中。
    4. 通过递归调用 smallestElement() 来查找右子树中的最小节点。将该值存储在 rightMin 中。将 min 和 rightMin 的值进行比较,并将两者中的较小者存储到 min 中。
    5. 最后,min 将包含二叉树中的最小节点。

解决方案

Python

输出

Smallest element in the binary tree: 1

C

输出

Smallest element in the binary tree: 1

JAVA

输出

Smallest element in the binary tree: 1

C#

输出

Smallest element in the binary tree: 1

PHP

输出

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