資料結構實驗之二叉樹的建立與遍歷 SDUT

2021-07-04 04:08:15 字數 1007 閱讀 7286

time limit: 1000ms   memory limit: 65536k  有疑問?點這裡^_^

已知乙個按先序序列輸入的字串行,如abc,,de,g,,f,,,(其中逗號表示空節點)。請建立二叉樹並按中序和後序方式遍歷二叉樹,最後求出葉子節點個數和二叉樹深度。

輸入乙個長度小於50個字元的字串。

輸出共有4行:

第1行輸出中序遍歷序列;

第2行輸出後序遍歷序列;

第3行輸出葉子節點個數;

第4行輸出二叉樹深度。

abc,,de,g,,f,,,

cbegdfa

cgefdba35

做完二叉排序樹感囧這道題的建樹更複雜。#include#include#include#includeusing namespace std;

typedef struct node

tree;

int s,z;

tree *creat(node *rt)

return rt;

}void pre(node *rt)

}void post(node *rt)

tree *yz(node *rt)//遍歷查詢葉子數比較簡單在不是空根的前提,if(兩兒子為空)s++ else 遞迴繼續尋找

}int de(node *rt)

由於帶有返回值故,用return 。。;

if(!rt)

return 0;

dl=de(rt->l);//遞迴判斷深度

dr=de(rt->r);

if(dl>dr)

return dl+1;

else

return dr+1;

}int main()

{ node *rt;

z=1;

s=0;

rt=new node;

rt=creat(rt);//為了方便以後的遍歷查詢,應返回根節點。

pre(rt);

cout<

資料結構實驗之二叉樹二 遍歷二叉樹

time limit 1000ms memory limit 65536k 已知二叉樹的乙個按先序遍歷輸入的字串行,如abc,de,g,f,其中,表示空結點 請建立二叉樹並按中序和後序的方式遍歷該二叉樹。連續輸入多組資料,每組資料輸入乙個長度小於50個字元的字串。每組輸入資料對應輸出2行 第1行輸出...

資料結構實驗之二叉樹二 遍歷二叉樹

剛開始學樹,不是很明白遞迴的過程,後來才發現了乙個比較好理解遞迴的方法 你不需要把所有遞迴的過程都呈現在腦海裡,你只需要畫出遞迴的其中乙個過程就可以了,這乙個過程的遞迴如果正確了,那麼下面的遞迴過程是百分之百正確的,當然還有乙個點就是要明確遞迴的終點,也就是返回條件,這一點很重要,如果這個遞迴的外部...

資料結構實驗之二叉樹二 遍歷二叉樹

資料結構實驗之二叉樹二 遍歷二叉樹 time limit 1000ms memory limit 65536k 已知二叉樹的乙個按先序遍歷輸入的字串行,如abc,de,g,f,其中,表示空結點 請建立二叉樹並按中序和後序的方式遍歷該二叉樹。連續輸入多組資料,每組資料輸入乙個長度小於50個字元的字串。...