比较两个二叉树

问题描述:

给定两个二叉搜索树,写函数告诉两棵树是否相同 - (即节点中的相同信息,每个节点左右相同的分支)。比较两个二叉树

+0

分配的柜面请先尝试,如果你卡住的地方,你可以在这里发布您的代码问疑虑。 – Zimbabao 2011-03-21 12:36:14

+0

纯粹的家庭作业问题。 – 2011-03-21 12:37:04

+0

用什么语言?你的树数据是怎样的? 如果这是目标,我可以给你一些伪代码。 – Efrain 2011-03-21 12:40:13

在两棵树上进行宽度或深度优先搜索,并在迭代时检查每个节点是否相等。

试试这个:

bool bst::isequal1(node *& root1,node *& root2) 
{ 

    if(root1==NULL && root2==NULL) 
    { return true;} 
    if( (root1==NULL && root2!=NULL) || (root1!=NULL && root2==NULL) ) 
    { 
     return false; 
    } 
    if( (root1->data) != (root2->data) ) 
    { 
     return false; 
    } 
    return (isequal1(root1->left,root2->left) && 
     isequal1(root1->right,root2->right)); 
}