#include#include#includeusing namespace std;
typedef char element;
typedef struct binodebinode,*bitree;
void create_tree(bitree &t)
create_tree(t->lchild);
create_tree(t->rchild); }
int judge_treesimilarity(bitree t1, bitree t2)
else if(t1 ==null || t2 ==null)
left = judge_treesimilarity(t1->lchild, t2->lchild);
right = judge_treesimilarity(t1->rchild, t2->rchild);
return left && right;
}void precede_tree(bitree t)
}int main()
system("pause");
return 0;
}
執行結果:
本人用vs2013編寫由於輸入輸出沒加**所以printf時需要_s.
判斷二叉樹相似時思想:
①判斷兩顆二叉樹是否都為空,如果都為空時則為相似二叉樹
②判斷兩顆二叉樹是否不同時為空,如果不同時為空則不是相似二叉樹
③兩顆樹都不為空時,利用遞迴的思想判斷兩棵樹的左子樹和右子樹是否為相似二叉樹
構建二叉樹 遍歷二叉樹
陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...
二叉樹的遍歷和線索二叉樹
二叉樹的遍歷,所謂二叉樹的遍歷,是指按某條搜尋路徑訪問樹中的每個結點,使得每個結點均被訪問一次,而且僅被訪問一次。由二叉樹的遞迴定義可知,遍歷一棵二叉樹便要決定對根結點n,左子樹l和右子樹r的訪問順序。按照先遍歷再遍歷右子樹的原則,常見的遍歷次序有先,中,後三種遍歷方法,其中序指的是根結點再何時被訪...
二叉樹的遍歷和線索二叉樹
1 遍歷二叉樹 以一定的規則將二叉樹的結點排列成乙個線性序列。2 線索二叉樹 實質就是遍歷一次二叉樹,從而充分利用傳統二叉鍊錶中的空指標,不浪費儲存空間。目的在於利用線索二叉樹可以加快查詢結點的前驅和後繼的速度。3 先序和中序 後序和中序 層序和中序 可以確定唯 一 一 顆二叉樹。只知道先序和後序,...