資料結構之樹 二 二叉樹 6 遍歷演算法的應用

2021-09-25 19:56:08 字數 887 閱讀 2279

建立二叉樹

按先序遍歷序列建立二叉樹的二叉鍊錶

例如,已知先序序列為abcdegf,建立二叉樹。

因為只知道二叉樹的先序序列,所以二叉樹結構不唯一,可能有如下圖的兩種結構,

那麼,怎麼區分這兩棵樹——補充空結點,,如下圖,

如果要構造上圖中左圖所示的二叉樹,則因按照abc##de#g##f###(空結點的字元以#代替 )的順序讀入字元。

status createbitree

(bitree &t)

return ok;

}

複製二叉樹(按先序遍歷順序)

演算法描述:

int

copy

(bitree t, bitree &newt)

else

}

計算二叉樹深度

int

depth

(bitree t)

}

計算二叉樹結點總數

int

nodecount

(bitree t)

}

計算二叉樹葉子結點數

int

leafcount

(bitree t)

以上的幾個演算法都用到了遞迴。

資料結構與演算法 樹的應用 二 二叉樹遍歷

題目描述 輸入 兩個字串,其長度n均小於等於26。第一行為前序遍歷,第二行為中序遍歷。二叉樹中的結點名稱以大寫字母表示 最多26個結點 輸出 輸入樣例可能有多組,對於每組測試樣例,輸出一行,為後序遍歷的字串。樣例輸入 abc bacfdxeag xdefag 樣例輸出 bca xedgaf 演算法分...

資料結構 二叉樹(1)遍歷,建立,應用

學了幾章的資料結構,我發現每一章對結構的闡述都會有以下三個步驟 1.先定義資料結構和基本操作。就是所謂的抽象,把像的總體特徵抽出來,有的也會去歸納出結構的性質。2.資料結構的儲存,一般分為順序儲存結構和鏈式儲存結構。3.根據儲存結構來建立資料結構和給出實現各種操作的演算法。同樣對二叉樹的總結,我也用...

重學演算法(1) 遍歷二叉樹

1 public class treewhere t icomparable2 2021 22 資料節點屬性 23 24public t nodedata 2527 set 28 2930 public treelefttree 3133 set 34 3536 public treerighttr...