類C語言 樹習題 判別兩棵樹是否相等。

2021-10-05 11:08:29 字數 540 閱讀 2357

此**可以執行,下附有執行區

[題目分析]先判斷當前節點是否相等(需要處理為空、是否都為空、是否相等),如果當前節點不相等,直接返回兩棵樹不相等;如果當前節點相等,那麼就遞迴的判斷他們的左右孩子是否相等。

#include

#include

#include

using namespace std;

typedef

struct bitnode

bitnode,

*bitree;

//先序建立二叉樹

判斷兩棵樹是否相等

思路 兩棵樹相等當且僅當roota data rootb data,且a和b的左右子樹相等或左右子樹互換相等 用遞迴的方式進行求解 1 if 兩棵樹都為空 返回true 2 if 兩棵樹中一棵為空,另一棵不為空 返回false 3 if 資料相等 else if 第一棵樹的左子樹與第二棵樹的右子樹相...

樹論 兩棵樹

wc2018 t1 簡化版 by oblack.有兩棵有 n 個節點的樹,分別為 a,b,樹上每條邊都有乙個權值 v i 令 disa x,y 和 disb x,y 分別表示 x 節點與 y 節點在樹 a,b 上的距離 請你找出乙個點對 x,y 使得 disa x,y disb x,y 取得最大值,...

判定兩棵樹是否是同構樹(C語言)

如果樹 t1 通過交換其 某些 節點的左右兒子變換成樹 t2,則稱樹 t1 與樹 t2 同構。樹同構的判定 include include define yes 1 define no 0 typedef struct dtree tree typedef char elementtype void...