作业帮 > 数学 > 作业

判断两个二叉树等价的算法

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/07/19 07:41:38
判断两个二叉树等价的算法
判断两个二叉树等价的算法
判断二叉树a和b是否等价:
1、 如果a==b,则a和b等价;
2、 否则如果a或者b为空树或者a的data与b的data不等或者a的左子树与b的左子树不等价或者a的右子树与b的右子树不等价,则a和b不等价;
3、 否则a和b等价.
typedef struct Node{
int data;
struct Node* left;
struct Node* right;
}Node;
bool equal(Node* a,Node* b)
{
if(a==b) return true;
if(a==NULL||b==NULL||a->data!=b->data||!equal(a->left,b->left)||!equal(a->right,b->right)) return false;
return true;
}