判斷兩個二叉樹是否相同(c 遞迴實現)

2021-08-11 07:54:14 字數 881 閱讀 5724

判斷兩棵二叉樹是否為同一棵樹,需要比較兩個方面:

一:結構是否相同;

二:每個節點上的元素是否相同;

當二者都滿足的時候才可判定二者為同一棵二叉樹。

結構相同包括節點的個數以及每個節點上的子樹相同。

下面是**實現。

#include

using namespace std;

typedef struct node* tnode;

struct node;

void print(tnode t);

tnode buildtree(tnode t, int n); //建立二叉樹

tnode insert(tnode t,int i); //在樹中插入乙個元素

bool compare(tnode t1, tnode t2); //比較兩個二叉樹是不是同一棵樹

int main()

cin >> n;

}return0;}

tnode buildtree(tnode t, int n)

return t;

}tnode insert(tnode t,int i)

else

return t;

}bool compare(tnode t1, tnode t2)

else

if(t1==

null

&& t2==

null) //如果都是空樹,二者相同

return

true;

else

return

false; //其他情況,二者不同

}

```

判斷兩個二叉樹是否相同

判斷兩個二叉樹是否相同 遞迴解法 public boolean issametreerec treenode p,treenode q if p null q null else else else 第一次寫了乙個是這樣的,自己覺得也可以,提交時不能ac,想了下根本是自己演算法立足點不對,分享下 對...

比較兩個二叉樹是否相同

也許你看過書,也許你背過 都不重要。重要的是,你能將你看過的變成自己的想法,然後實現它 不在其他 的陰影下活著,讓你的 舞動起來!也許 可能看起來有點不簡潔 思想 可以按照遞迴的思路進行,左子樹是否相等,右子樹是否相等進行遍歷 bool equal btnode pa,btnode pb if pa...

判斷二叉樹是否相同

判斷二叉樹是否相同 當root1的左子樹與root2的左子樹相同,root1的右子樹與root2的右子樹相同時,這兩顆二叉樹相同。當root1的左子樹與root2的右子樹相同,root1的右子樹與root2的左子樹相同時,這兩顆二叉樹同樣相同。1 bool isequals bnode root1,...