获取二叉树的父节点

17 Mar 2025 | 5 分钟阅读

在二叉树中,每一个单独的树都有一个父节点。我们给定一个二叉树和一个节点,主要任务是找到给定二叉树节点的父节点。当我们谈论二叉树时,我们知道每个树都有一个父节点,它就是当前节点上方存在的节点。它们在组织某些节点集时非常有用。

父二叉树有很多优点,其中一些如下: -

  1. 父二叉树的第一个优点是易于导航,这意味着我们可以轻松地向上和向下遍历整个树并执行多个操作。
  2. 当我们执行操作时,我们可以轻松地修改或更新节点之间存在的链接,这使得树中的修改非常有用。
  3. 在许多树遍历算法中,例如中序或后序遍历,父节点使得在节点之间移动和获取数据变得更容易。

实施

输出

Get a Parent Binary Tree

代码的分步解释

  1. 代码首先包含所有必要的头文件,这些头文件对于代码执行的输入和输出操作至关重要。
  2. 在代码的下一步,我们开始定义一个名为 'Node' 的结构,它代表二叉树中的一个节点,具有以下成员;数据以及指向左节点和右节点的指针。
  3. 在定义完节点的结构之后,下一步我们声明一个名为“findParent”的函数。该函数还包含三个参数:node、val 和 parent。
  4. 在“findParent”内部,有三个主要部分
    • 如果基本条件的值为 NULL,则基本条件终止自身并返回 NULL 值。
    • 接下来,我们必须检查我们正在寻找的值是否与当前值匹配,如果匹配,则意味着我们必须返回该值和父节点。
    • 如果不匹配所需值,函数将对左子树和右子树进行递归调用,当前节点的父值成为这些递归调用的新父节点。
  5. 接下来,调用“findParent”函数,它会找到二叉树的根和目标节点的值,然后我们必须打印它的值。
  6. 最后,程序的主函数返回 0,表示程序成功执行。
  7. 在主函数中,创建一个二叉树,变量值设置为 3,确定我们要查找父节点的节点。

示例 2)

输出

Get a Parent Binary Tree

代码的分步解释

  1. 代码首先定义一个包含程序核心部分“TPT”的类,在该节点内部,我们首先定义一个名为“Node”的结构,它表示二叉树中的一个节点,具有以下成员:数据以及指向左节点和右节点的指针。
  2. 在定义完节点的结构之后,下一步我们声明一个名为“findParent”的函数。该函数还包含三个参数:node、val 和 parent。
  3. 在“findParent”内部,有三个主要部分
    • 如果基本条件的值为 NULL,则基本条件终止自身并返回 NULL 值。
    • 接下来,我们必须检查我们正在寻找的值是否与当前值匹配,如果匹配,则意味着我们必须返回该值和父节点。
    • 如果不匹配所需值,函数将对左子树和右子树进行递归调用,当前节点的父值成为这些递归调用的新父节点。
  4. 接下来,调用“findParent”函数,它会找到二叉树的根和目标节点的值,然后我们必须打印它的值。
  5. 最后,程序的主函数返回 0,表示程序成功执行。
  6. 在主函数中,创建一个二叉树,变量值设置为 3,确定我们要查找父节点的节点。