-
program
trees;type
使用帕斯卡鍊表製作
呵呵。 tree=^rec;
rec=record
data:char;
l,r:tree;
end;var
s1,s2:string;
i:integer;
t:tree;
procedure
make(l,r:integer;
t:tree);
l,r 是中間階的段,t 作為根節點。
varpl,pr:tree;
j:integer;
begint^.l:=nil;
t^.r:=nil;
t^.data:=s2[i];ifl=r
thenexit;
j:=pos(s2[i],s1);//
根節點。 s2[i] 在中間順序。 ifj
nilthen
beginwrite(t^.data);
qianxu(t^.l);
qianxu(t^.r);
end;end;
beginreadln(s1);
按中間順序閱讀。 readln(s2);
閱讀後記。 注意:請為同一節點輸入相同的字元,區分大小寫。
i:=length(s1);
每次,序列中的第 i 個節點都會為根節點構建一棵樹。
new(t);
make(1,i,t);
qianxu(t);
writeln;
end.演算法不僅僅是解決這組資料!
-
沒有辦法要求它。
已知的兩個序列之一必須是預序列序列。
-
二叉樹的順序是 g、d、b、i、h、e、f、c、a。
第乙個是 a,所以是根節點,所以 a 的左子樹是 d、g、b,右子樹是 e、i、h、c、f。 第二個根節點是b,中間階b的左子樹是d和g,然後d的右子樹是g,c是a的右子樹,依次判斷二叉樹的序列。
二叉樹圖,如下圖所示:
-
從前面的順序中,我們可以看到 A 是根,所以在中間順序中,我們可以看到 CDB 正在製作,fehg 在右邊:ACDB) (fehg)。
同樣,訂單分為 a|bcd|efgh.在左子樹 BCD 中,B 是根,因為有先例,E 是右子樹 EFGH 中的根:A
b ecd) (fgh)
在B和B的後代中,從中間序列CDB可以看出,CD位於B的左子樹上。 C 後跟 D,C 是 B 的左子節點,D 是 C 的右子節點。 可以推導出原子核中 FGH 序列是 FEHG 的相同原因,F 在 E 的左子樹上,HG 在右子樹上:
ab ec f (gh)
在d和cd的判斷過程中,不難得出結論,g是e的右子節點,h是g的左子節點:ab ec f gd h
-
總結。 您好親愛的,我很高興為您解答,回覆如下: 已知二叉樹的中階遍歷序列和後續遍歷序列為:
B,D,C,E,A,G,H,F 和 D,E,C,B,H,G,F,A,請根據這兩個條件繪製這棵二叉樹,並簡要總結解決問題的步驟:先,中間,然後指示根節點的遍歷位置,始終是左節點,然後是右節點。 例如,在先例遍歷中,“first”表示根節點首先遍歷,然後是左節點,最後是右節點。
以此類推,在中階遍歷中,在階次遍歷之後。
已知二叉樹的中間序列和後續序列序列分別是bcfalsehg和decbhgfa,繪製出這棵二叉樹,已知二叉樹的中間順序遍歷序列和後續遍歷序列分為:b、d、c、e、a、g、h、f和d,e、c、b、h、g、f、a,請根據這兩個條件繪製這棵二叉樹,並簡要總結解決問題的步驟。
你是親愛的嗎? 您好親愛的,我很高興為您解答,回覆如下: 已知二叉樹的中階遍歷序列和後續遍歷序列為:
B,D,C,E,A,秦童g,h,f和d,e,c,b,h,g,f,a,請根據這兩個條件畫出這棵雙管齊下的兇樹,並簡要總結解決問題的步驟:先,中間,然後指出根節點的遍歷在哪裡,始終是左節點,然後是右節點。 例如,在先例遍歷中,“first”表示根節點首先遍歷,然後是左節點,最後是右節點。
以此類推,在中階遍歷中,在階次遍歷之後。
樹遍歷主要有三種型別:一是第一次蘆葦櫻序遍歷:先遍歷根節點,再遍歷左節點,最後遍歷右節點; 2、中階遍歷:先遍歷左邊節點,再遍歷根節點,最後遍歷右邊節點; 3. 訂單後遍歷:
先遍歷左側節點,然後遍歷右側節點,最後遍歷根節點;
-
e/ \
a g \c f/ \
b d 後面跟著 e,很明顯 e 是根。
根據中間順序,它分為ABCD和FG兩個方面
按照中間和後面的順序,A一定是左子樹的根,A是沒有左子樹的簡單。
-
此類問題按前一階和中間階的順序進行分析。
從前面的順序可以看出,這個二叉樹的根節點是乙個
然後,中間序列顯示 bcdef 是左子樹。
注意:根節點和父節點由預購序列決定,左右子樹由中階序列決定!!
在這一點上,二叉樹是。
然後,將 BCDEF 分析為乙個新序列,父(根)節點從前乙個順序到 B 是已知的,中間順序是 DFEC 已知的右子樹。
在這一點上,二叉樹是。
繼續使用 cdef 作為新序列,從前乙個順序知道父節點到 c,從中間順序知道 dfe 作為左子樹。
在這一點上,二叉樹是。
依此類推,依次獲得二叉樹。
此時得到這個二叉樹,然後序列作為左根和右根遍歷序列,序列為fedcba
純粹的手法,希望對您有所幫助。
全二叉樹和完全二叉樹是二叉樹的兩種特殊形式。 完整的二叉樹意味著每個節點有兩個子節點,或者沒有子節點(即每個節點的度數為 2 或 0)。 完整的二叉樹是指除最後一層之外的所有節點都具有最大數量的節點,並且最後一層的節點盡可能集中在左側。 >>>More
在一棵完整的二叉樹中,任何節點的左右子樹的深度都是相等的,所以你只需要做乙個backroot遍歷就可以知道乙個二叉樹是否是乙個完整的二叉樹。 >>>More
具體方法是假設乙個節點計算的雜湊值、左子樹雜湊值和右子樹雜湊分別是 a、la 和 ra,然後我們去 hash2 看看 hash2[a] 是什麼,然後再使用 a。 >>>More