查找二叉树节点层级的公式

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

二叉树是 DSA 领域中一种基本的数据结构。它在数据组织、搜索和排序算法中具有广泛的应用。有了节点层级的概念,寻找一种高效适用的公式来计算节点层级变得非常容易。

二叉树中的层级节点主要可以定义为基本位于某个深度或某个路径上的层级节点。它基本处于某个特定层级,用于优化树。二叉树中存在的每个层级都包含一个层级,其中树的所有节点到根节点的距离相等。

下面列出了层级节点的一些优点:-

  1. 当我们定位层级节点时,我们基本上是在为其可视化辅助。我们可以轻松地利用这些信息来确定并执行可视化表示并为之构建图表。
  2. 它在子集处理中也非常有用;假设我们必须隔离一个特定节点,那么我们必须查找子集,并且我们可以轻松地关注它们并对其进行处理。
  3. 如果我们需要在树的某个层级执行特定层级的操作和技术,那么它可以轻松优化树中的此类操作。

实施

输出

Formula to Find a Level of the Node in a Binary Tree

代码的分步解释

  1. 代码首先声明必要的头文件。
  2. 代码使用 struct 关键字定义了二叉树的结构,它具有以下成员:数据值以及指向左子节点和右子节点的指针。
  3. 现在,我们将创建一个 getLevelUtil 函数,它是一个辅助函数。它有三个参数:节点、数据和层级。
  4. “getLevel”函数有两个参数:节点和数据。
  5. 现在,我们声明一个“newNode”函数,它帮助我们在二叉树中创建一个新节点,它通常接受一个参数(数据),并将左指针和右指针设置为 NILL。
  6. 在程序的主函数中,创建了指针“root”来存储二叉树的根节点。
  7. 二叉树是通过在树中分配位置来构建的。
  8. 我们创建一个 for 循环,它迭代从 1 到 5 的值。对于这些值中的每一个,都会调用“get level”函数来查找二叉树中的层级。如果值为非零,则该值将存在于树中。否则,将打印一条消息,指示该值不存在于树中。
  9. 'getchar()' 用于在程序结束或终止之前等待字符输入。
  10. 程序通过从主函数返回 0 值结束,表示程序执行完毕。

示例 2)

输出

Formula to Find a Level of the Node in a Binary Tree

代码的分步解释

  1. 代码首先声明必要的头文件。代码首先定义了两个类,“Node”和“Binary tree”。节点包含三个成员:数据值以及指向左子节点和右子节点的指针,而二叉树包含树的根节点。
  2. 二叉树创建了一个 getLevelUtil 函数,它是一个辅助函数。它有三个参数:节点、数据和层级。
  3. “getLevel”函数有两个参数:节点和数据。
  4. 现在,我们声明一个“newNode”函数,它帮助我们在二叉树中创建一个新节点,它通常接受一个参数(数据),并将左指针和右指针设置为 NILL。
  5. 在程序的主函数中,创建了指针“root”来存储二叉树的根节点。
  6. 二叉树是通过在树中分配位置来构建的。
  7. 我们创建一个 for 循环,它迭代从 1 到 5 的值。对于这些值中的每一个,都会调用“getLevel”函数来查找二叉树中的层级。如果值为非零,则该值将存在于树中。否则,将打印一条消息,指示该值不存在于树中。
  8. 'getchar()' 用于在程序结束或终止之前等待字符输入。
  9. 程序通过从主函数返回 0 值结束,表示程序执行完毕。

示例 3)

输出

Formula to Find a Level of the Node in a Binary Tree

代码的分步解释

  1. 代码定义了一个名为“newNode”的类,它表示二叉树中的一个节点,一个指向左子节点和右子节点的指针以及一个数据值。
  2. 现在,我们将创建一个 getLevelUtil 函数,它是一个辅助函数。它有三个参数:节点、数据和层级。
  3. “getLevel”函数有两个参数:节点和数据。
  4. 现在,我们声明一个“newNode”函数,它帮助我们在二叉树中创建一个新节点,它通常接受一个参数(数据),并将左指针和右指针设置为 NILL。
  5. 在程序的主函数中,创建了指针“root”来存储二叉树的根节点。
  6. 二叉树是通过在树中分配位置来构建的。
  7. 我们创建一个 for 循环,它迭代从 1 到 5 的值。对于这些值中的每一个,都会调用“getLevel”函数来查找二叉树中的层级。如果值为非零,则该值将存在于树中。否则,将打印一条消息,指示该值不存在于树中。
  8. 'getchar()' 用于在程序结束或终止之前等待字符输入。
  9. 程序通过从主函数返回 0 值结束,表示程序执行完毕。