```cpp
#include
#define maxtree 11
#define elementtype char
#define tree int
#define null -1
struct treenode
t1[maxtree]
,t2[maxtree]
;tree buildtree
(struct treenode t)
else
t[i]
.left=null;
if(cr!=
'-')
else
t[i]
.right=null;}}
for(i=
0;i(!check[i]
)return i;
}int
isomorphic
(tree r1,tree r2)
intmain()
注釋
1.check陣列的使用非常巧妙,初始時置每個結點check值為0,只要輸入到該節點是某個結點
的兒子就將check置為1,最後為0的check值對應根節點(還要確定check哪些結點是在樹上的)
2.不要使用atio函式,最好還是利用傳統的方法,如char-'0'將字元型轉換為整型。
3.同構函式還未完全看懂
PTA 樹的同構
給定兩棵樹t1和t2。如果t1可以通過若干次左右孩子互換就變成t2,則我們稱兩棵樹是 同構 的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點a b g的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。圖1現給定兩棵樹,請你判斷它們是否是同構的。輸入給出2棵二叉樹樹的資訊。對於每棵...
PTA樹的同構
include define maxtree 10 define elementtype char define tree int define null 1 struct treenode t1 maxtree t2 maxtree 定義陣列型別的資料 tree buildtree struct ...
PTA習題 樹的同構
7 3 樹的同構 25 分 給定兩棵樹t1和t2。如果t1可以通過若干次左右孩子互換就變成t2,則我們稱兩棵樹是 同構 的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點a b g的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。圖1 圖2 現給定兩棵樹,請你判斷它們是否是同構的。...