資料結構實驗之二叉樹一 樹的同構

2021-07-16 10:24:15 字數 1052 閱讀 7512

這道題的演算法思想就是在建立好的二叉樹的基礎上,通過依次遍歷兩個二叉樹,比較兩個二叉樹的同一結點的左右孩子結點來確認它們是否同構。

**如下:

#include

#include

#include

int visited[100];

int num=0;

struct node

;struct node1

q[100];

struct node* creat(struct node* root,int n)//建立二叉樹

if(q[n].b!=-1)

return root;

}int judge(struct node* p,struct node* q)//判別二叉樹是否同構

else

return 0;

}else

return 0;

}int main()

if(s3[0]=='-')

q[i].b=-1;

else

}int flag;

struct node *root;

if(n!=0)

scanf("%d",&m);

memset(visited,0,sizeof(visited));

for(i=0; i

if(s3[0]=='-')

q[i].b=-1;

else

}int j;

for(j=0;j

if(!visited[j])

break;

struct node *root;

root=creat(root,j);

num=0;

judge(root,root);

if(num==n)

printf("yes\n");

else

printf("no\n");

}return 0;

}

資料結構實驗之二叉樹一 樹的同構

time limit 1000ms memory limit 65536k 有疑問?點這裡 給定兩棵樹t1和t2。如果t1可以通過若干次左右孩子互換就變成t2,則我們稱兩棵樹是 同構 的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點a b g的左右孩子互換後,就得到另外一棵樹。而圖2就...

資料結構實驗之二叉樹一 樹的同構

time limit 1000ms memory limit 65536k 給定兩棵樹t1和t2。如果t1可以通過若干次左右孩子互換就變成t2,則我們稱兩棵樹是 同構 的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點a b g的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。圖1...

資料結構實驗之二叉樹一 樹的同構

time limit 1000ms memory limit 65536k 給定兩棵樹t1和t2。如果t1可以通過若干次左右孩子互換就變成t2,則我們稱兩棵樹是 同構 的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點a b g的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。圖1...