6.36③ 若已知两棵二叉树B1和B2皆为空,或者皆 不空且B1的左、右子树和B2的左、右子树分别相似, 则称二叉树B1和B2相似。试编写算法,判别给定两 棵二叉树是否相似。

6.36③  若已知两棵二叉树B1和B2皆为空,或者皆
不空且B1的左、右子树和B2的左、右子树分别相似,
则称二叉树B1和B2相似。试编写算法,判别给定两
棵二叉树是否相似。


要求实现下列函数:
Status Similar(BiTree t1, BiTree t2);
/* 判断两棵二叉树是否相似的递归算法 */


二叉链表类型定义:
typedef struct BiTNode {
    TElemType data;
    BiTNode  *lchild, *rchild;

} BiTNode, *BiTree;




Status Similar(BiTree t1, BiTree t2)
/* 判断两棵二叉树是否相似的递归算法 */
{
   
    if(!t1 && !t2)
        return TRUE; 
    else if(t1 && !t2 || !t1 && t2)
        return FALSE;
    else{
        if(Similar(t1->lchild,t2->lchild) && Similar(t1->rchild,t2->rchild))
            return TRUE;
        else
            return FALSE;    
    }
}

你可能感兴趣的:(广工,数据结构,递归算法,第六章36题)