二叉樹的遍歷 先序 中序 後序

2021-09-30 08:59:01 字數 351 閱讀 3611

先建立乙個函式createtree 來先序輸入乙個二叉樹,然後通過preordertree函式先序顯示二叉樹。至於中序和後序顯示二叉樹,只需將preordertree中的對應的如下三行進行互換就行了。

1  printf("%c",t->data);

2  preordertree(t->lchild);

3  preordertree(t->rclild);

具體的實現**如下所示:

可能很多人不知道會怎麼進行輸入,其實輸入的時候要求乙個最基本的原則是你輸入的是乙個二叉樹,而且是先序輸入的。

那麼如果我輸入abdh##i##e##cf#j##g##

那麼樹的構造圖如下所示:

二叉樹先序 中序 後序遍歷

題目 用遞迴和非遞迴方式,分別按照二叉樹先序 中序和後序列印所有的節點。我們約定 先序遍歷順序為根 左 右 中序遍歷順序為左 根 右 後序遍歷順序為左 右 根。遞迴實現 遞迴遍歷二叉樹 先序 public void preorderrecur node head system.out.println...

二叉樹先序遍歷 中序遍歷 後序遍歷

輸入二叉樹的先序遍歷序列和中序遍歷序列,輸出該二叉樹的後序遍歷序列。非建二叉樹版本 include includeusing namespace std string preord,inord void rebuild int preleft,int preright,int inleft,int ...

二叉樹先序遍歷 後序遍歷 中序遍歷

從根部 a 開始,然後開始遍歷左子樹,直接找到 b 檢視 b 有沒有左子樹,有 d,再檢視 d 有沒有子樹,沒有,d 已經是葉子,所以第二個是 d。倒回去,取中 b,第三個數是 b。檢視 b 有沒有右子樹,有 e 檢視 e 有沒有子樹,有 g 左 h 右 所有後面三個數是 egh 先查左子樹,存在繼...