hi
i have this code which determined if tow trees are equal or not
the code is working in these cases:
1: equals;
8 8
4 20 4 20
2: the roots not equals
8 80
4 20 4 20
and does not worked in this case
8 8
40 20 4 200
what is the error
case one:
tree 1
8 root
4 lchild
20 rchild
tree2
8 root
4 lchild
20 rchild
case 2
tree 1
8 root
4 lchild
20 rchild
tree2
80 root
4 lchild
20 rchild
case 3
tree 1
8 root
40 lchild
20 rchild
tree2
8 root
4 lchild
200 rchild
i have this code which determined if tow trees are equal or not
the code is working in these cases:
1: equals;
8 8
4 20 4 20
2: the roots not equals
8 80
4 20 4 20
and does not worked in this case
8 8
40 20 4 200
what is the error
int bt_equal ( binarytree * tree1, binarytree * tree2)
{ int res;
if ( tree1 == NULL && tree2 == NULL )
return ( True ) ;
res = False ;
if ( tree1 -> data == tree2 -> data )
{ res = bt_equal ( tree1-> lchild , tree2 -> lchild ) ;
if ( res == True )
res = bt_equal ( tree1 -> rchild , tree2 -> rchild ) ;
}
return ( res );
}
case one:
tree 1
8 root
4 lchild
20 rchild
tree2
8 root
4 lchild
20 rchild
case 2
tree 1
8 root
4 lchild
20 rchild
tree2
80 root
4 lchild
20 rchild
case 3
tree 1
8 root
40 lchild
20 rchild
tree2
8 root
4 lchild
200 rchild