`

判断两二叉树相等

    博客分类:
  • Java
 
阅读更多
bool IsBSTEqual(BNode* root1,BNode* root2)  
{  
      if (root1==NULL && root2==NULL)  
      {  
           return true;  
      }  
      else if (root1==NULL || root2==NULL)  
      {  
           return false;  
      }  
      else  
      {  
            if (root1->data != root2->data)  
            {  
                  return false;  
            }  
  
            bool is_left = IsBSTEqual(root1->left,root2->left);  
            bool is_right = IsBSTEqual(root1->right,root2->right);  
  
            if (is_left&&is_right)  
                 return true;  
  
            else  
            {  
                  is_right = IsBSTEqual(root1->right,root2->left);  
                  is_left = IsBSTEqual(root1->left,root2->right);  
  
                  if (is_left&&is_right)  
                       return true;  
                  else  
                       return false;  
            }  
      }  
  
}  
分享到:
评论

相关推荐

    毕设英文翻译:基于四叉树和八叉树的细化算法

    首先,四叉树(Quadtree)是一种空间分割的数据结构,特别适用于二维空间的组织。它将图像分割成四个相等的子区域,每个子区域可以进一步分割,直到满足某种终止条件,如区域为空或者只包含单一颜色的像素。在细化...

    实验六二叉树的递归遍历及其应用(1).pdf

    实验内容包括按中序序列输入构建二叉树,计算双分支节点数,以及判断两棵二叉树是否相等,同时涉及层次遍历算法。 二叉树是一种重要的数据结构,其特点是每个节点最多有两个子节点,分为左子节点和右子节点。在本...

    C#编写的投影变换、道格拉斯压缩、左转算法、线性四叉树

    它将二维空间分成四个相等的子区域,并递归地继续划分,直到达到预设的终止条件。线性四叉树常用于图像处理、地理信息系统和游戏开发,能快速查找和访问特定区域的数据,提高查询效率。 以上知识点在C#编程中实现,...

    二叉树的基本操作

    主要实现求二叉树的高度(递归) 深度(递归) 宽度(使用队列)和判断两二叉树是否相等 也包含队列的各种操作

    代码判断两条线段是否相交(两种实现算法)

    在计算机图形学和几何算法中,判断两条线段是否相交是一个常见的问题。这个任务涉及到二维空间中的几何对象,特别是点、直线和线段的概念。本文将深入探讨两种不同的算法来解决这个问题,一种是“暴力”方法,另一种...

    两条直线相交判断方法

    在计算机图形学中,判断两条直线是否相交是一项基础但重要的任务。特别是在C#编程环境中,我们经常需要处理这样的问题,比如在游戏开发、几何计算或者数据可视化等场景。本篇将详细介绍如何在C#中判断两条直线是否...

    c代码-判断是否为同一二叉搜索树(使用建一棵树的方法)

    标题中的“判断是否为同一二叉搜索树”是指比较两棵二叉搜索树是否具有完全相同的结构和节点值。一种常见的方法是通过递归地构建一棵新的树来对比。以下是这种方法的基本思路: 1. **定义二叉树节点结构**:首先,...

    VB判断点在多边形内

    这个任务通常涉及到二维几何计算和算法的实现。在VB中,我们可以利用数学方法来解决这个问题,这通常是通过检测点与多边形边的关系来完成的。 首先,理解“点在多边形内”的定义:如果从点出发的射线与多边形的边...

    AS3.0学习之判断两条线段是否相交

    这个"AS3.0学习之判断两条线段是否相交"的实践项目就是一个典型的例子,它涉及到二维几何的基本概念和算法。下面将详细阐述如何在AS3.0中实现这一功能。 首先,我们需要理解线段的基本表示。在AS3.0中,我们可以用...

    判断图形的程序

    3. **线段和直线**:判断两点间是否形成线段,只需比较两点坐标即可。如果存在第三个点,可以通过向量叉乘判断这三点是否共线。 4. **三角形**:判断三个点是否构成三角形,需要检查这三个点两两之间的线段不重合且...

    MT4新编:简单三线交叉EA

    - 逻辑比较操作符,用于判断两个值是否不相等。 10. **逻辑运算符** - `&&`: 表示逻辑“与”操作。 - `||`: 表示逻辑“或”操作。 11. **大括号** - 定义函数体或代码块。 #### 四、自定义变量 1. **变量...

    线段树例题(唐文斌).pdf

    - 也可以考虑使用四叉树(Quad-Tree)来解决该问题。 ### 结论 通过以上几道例题可以看出,线段树是一种非常强大的数据结构,在处理区间更新、查询等方面有着广泛的应用。通过合理设计线段树节点的信息,可以有效地...

    js代码-判断两个JSON LIST是否有交集

    当涉及到比较和操作这些列表时,我们可能需要判断两个JSON列表是否有交集,即它们是否包含相同的元素。在这个场景中,我们可以编写JS代码来实现这个功能。让我们详细探讨如何做到这一点。 首先,我们要明确JSON...

    数据集目录,其中 包含分区问题的示例,其中一组数字 给定,并且希望将集合分解为两个子集 相等的总.rar

    这个问题通常表述为:给定一个非负整数序列,目标是判断是否可以将其分为两个子序列,使得两者的和相等。如果存在这样的分割,我们称这个序列是可分的;否则,它是不可分的。 在机器学习中,解决此类问题的策略通常...

    有效的回旋镖(数学斜率计算)1

    但如果它们不完全相同,我们可以通过比较下面两个交叉相乘的结果来确定斜率是否相等: \[ (y2 - y1) * (x3 - x2) \] \[ (y3 - y2) * (x2 - x1) \] 如果这两个交叉乘积相等,那么三个点在同一直线上,否则不在同一...

    ios开发记录

    //判断两个字符串是否相等,不能使用==,使用等号是判断两个对象是否是一个对象,也就是是否是一个内存地址。 //判断字符串的内容是否相同应该使用nsstring的isEqualToString:方法 //在低版本的时候,如果直接点击...

    两条线段的问题

    在计算机图形学和算法设计中,判断两条线段是否相交是一个常见的问题。线段是由两点定义的有限直线部分,而直线则是无限延伸的。这个问题在几何计算、碰撞检测、图形绘制等领域都有广泛的应用。本篇文章将深入探讨...

    测试线段是否相交

    本篇文章将详细探讨如何判断两条线段是否相交,并给出计算交点的方法。 线段是由两个点(端点)定义的,每个点具有二维坐标 (x, y)。线段 `A-B` 可以用端点坐标 `(Ax, Ay)` 和 `(Bx, By)` 来表示,同样,线段 `C-D`...

    2021初中数学基础知识考点.docx

    - **同位角、内错角和同旁内角**:这些是用于判断两条直线是否平行的重要性质,如果满足这些条件,两直线平行。 - **三角形的外角性质**:一个三角形的外角等于不相邻的两个内角之和,且大于任何不相邻的内角。 3...

Global site tag (gtag.js) - Google Analytics