@Bugaboo: Use recursion. Assuming

struct tree_node {
    tree_node *left;
    tree_node *right;
    int data;
};

int AreIsomorphic(tree_node tree1, tree_node tree2)
{
    if( tree1 == NULL && tree2 == NULL )
        return TRUE; // both trees are null
    if( tree1 == NULL || tree2 == NULL)
        return FALSE; // one tree is null, the other is not
    return AreIsomorphic(tree1->left,tree2->left) &&
             AreIsomorphic(tree1->right,tree2->right);
}

Dave

On Aug 27, 12:05 pm, bugaboo <bharath.sri...@gmail.com> wrote:
> Considering the definition of binary tree isomorphism is the
> following:
> - 2 binary trees are isomorphic if they have the same structure but
> differ just by values.
>
> What is the logic (or pseudo code) for checking if two binary trees
> are isomorphic?

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to