判斷兩棵二叉樹是否相似用c完成要能執行的謝謝

2021-03-09 13:45:57 字數 2342 閱讀 1743

1樓:匿名使用者

#include

#include /*判斷二叉樹是否相似*/#include

typedef int datatype;

typedef struct node

bitnode,*bittree;

void creatbitree(bittree *bt)//用擴充套件先序遍歷序列建立二叉樹,如果是.當前樹根置為空,否則申請一個新節點//

}int like(bittree b1,bittree b2)/*判斷兩個樹是否相似*/

}void printtree(bittree boot,int nlayer) //按豎向樹狀列印的二叉樹 //

void main()

2樓:匿名使用者

#include

#include

typedef struct btnode

btnode;

btnode *createbtpi(int pre,int in,int s1,int e1,int s2,int e2)//用先序和中序

建樹bt->data=in[i];

bt->lchild=createbtpi(pre,in,s1+1,s1+i-s2,s2,i-1);

bt->rchild=createbtpi(pre,in,s1+i-s2+1,e1,i+1,e2);

return bt;

}bool issimilar(btnode *bt1,btnode *bt2)//判斷兩棵樹是否相似

btnode *createbtip(int post,int in,int s1,int e1,int s2,int e2)//用中序後序建樹

int main()

,in=;//第一棵樹的先序中序遍歷序列

int in2=,post2=;//第二課樹的中序後序遍歷序列

int i;

btnode *bt1,*bt2;

bt1=createbtpi(pre,in,0,4,0,4);

bt2=createbtip(post2,in2,0,4,0,4);

printf("%d\n",issimilar(bt1,bt2));//1為相似,0為不相似。}

3樓:2366823160帥

#include

using namespace std;

struct tree

;typedef tree *linktree;

}int main()

{linktree t,s;

cout<<"請輸入第一棵二叉樹的元素,用一個『#』表示沒有一個子樹\n";

crebitree(t);

cout<<"請輸入第一棵二叉樹的元素,用一個『#』表示沒有一個子樹\n";

crebitree(s);

printpre(t);

cout<

4樓:樂意丶

else if (!t1 || !t2)//如果一者是空樹,另一者不為空樹,則不相似

else//否則是否相似還需進一步判斷

else}}

二叉樹的儲存型別是嚴奶奶的資料結構教的,所以自己把結構補全就可以執行了。

另外有人還比較了資料域的資訊,相似只是結構上相同,或者說同構,不需要資料域相同,否則就是全等了。

還有,注意下面這種演算法是錯誤的:

else if (!t1 || !t2)//如果一者是空樹,另一者不為空樹,則不相似

else//否則是否相似還需進一步判斷}

輸入兩棵二叉樹a和b,判斷b是不是a的子結構

5樓:home不知道

解題思路:

1、找到a中和b的根節點相同的節點,然後進行判斷是否相同。

2、如果不同再拿a的左子樹與b進行比較。

3、如果仍不同再拿a的右子樹與b進行比較。

4、如果仍未找到,則a中不包含b。

判斷兩個根節點相同的兩個樹是否包含:

1、先判斷b,如果b為空說明包含。

2、再判斷a,如果a為空說明不包含。

3、如果a的值與b的值相同然後繼續進行此判斷。

判斷兩棵二叉樹是否相似 用c 完成 要能執行的謝謝

include include 判斷二叉樹是否相似 include typedef intdatatype typedef struct node bitnode,bittree void creatbitree bittree bt 用擴充套件先序遍歷序列建立二叉樹,如果是.當前樹根置為空,否則申...

什麼是正則二元樹,什麼是正則二叉樹,判斷一棵樹是正則二叉樹的演算法

在資料結構中的樹 樹的定義 樹是由一個集合以及在該集合上定義的一種關係構成的。集合中的元素稱為樹的結點,所定義的關係稱為父子關係。父子關係在樹的結點之間建立了一個層次結構。在這種層次結構中有一個結點具有特殊的地位,這個結點稱為該樹的根結點,或簡稱為樹根。我們可以形式地給出樹的遞迴定義如下 單個結點是...

為什麼說樹和二叉樹是兩種樹結構啊

設樹t的度為4,其中度為1,2,3和4的結點個數分別為4,2,1,1則t中的葉子數為幾?56 78選8一個結點的子結點個數稱為該結點的a.權b.維數 c.次數 d.序選c 具有10個葉結點的二叉樹中有 個度為2的結點,a 8b 9 c 10 d ll 選b一棵完全二叉樹上有1001個結點,其中葉子結...