树的同构

给定两颗二叉树T1和T2,如果T1可以同过若干次左右孩子互换就变成T2,则我们称为两个树是同构的。现判断两棵树是否同构。

同构与不同构

【题目】

题意理解
第二棵树

【静态链表结构数组表示二叉树】

/* 静态链表二叉树 */
#define MaxTree 10
#define ElementType char
#define Tree int
#define Null -1

struct TreeNode
{
    ElementType Element;
    Tree Left;
    Tree Right;
}T1[MaxTree],T2[MaxTree];

/* 程序框架 */
int main()
{
    Tree R1,R2;

    R1=BuildTree(T1);
    R2=BuildTree(T2);
    if(Isomorphic(R1,R2))
        printf("Yes\n");
    else
        printf("No\n");

    return 0;
}

Tree BuildTree(struct TreeNode T[])
{
    scanf("%d\n",&N);
    if(N){
        for(i=0;i

你可能感兴趣的:(树的同构)