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個結點,其中葉子結...