二叉樹的建立與遍歷

2021-06-22 17:59:54 字數 857 閱讀 8256

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

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

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

輸出共有4行:

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

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

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

第4行輸出二叉樹深度。

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

cbegdf
acgefdba
3
5
二叉樹。。。不多說了
//二叉樹的建立與遍歷

#include #include #include using namespace std;

typedef struct node

bn,*bt;

void ctree(bt &t) //先序建立二叉樹

}void first(bt t)//先序遍歷

}void in(bt t)//中序遍歷

}void last(bt t) //後序遍歷

}int count=0;

void calleaf(bt t) //計算葉子節點數

calleaf(t->left);

calleaf(t->right); }}

int deep(bt t) //計算深度

int main()

{ bt root;

ctree(root);

first(root);

cout<

二叉樹的建立與遍歷 二叉樹遍歷模板)

初學二叉樹,感覺之前鍊錶掌握不熟練導致接受有點難,現在做一些總結。本題其實就是根據給出的前序遍歷 包括空子樹 寫出相應的前序 中序和後序遍歷。廢話不多說,先看看題目 description 下面給出了教材中演算法6.4所示的演算法。status createbitree bitree t retur...

二叉樹建立與遍歷

二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱為 左子樹 和 右子樹 二叉樹的每個節點最多只能右兩棵子樹,子樹有左右之分,次序不能顛倒。除了葉結點外每乙個結點都有左右子葉且葉子結點都處在最底層的二叉樹。假設二叉樹的高度為k,除第k層外,其他各層的節點數都達到最大個數。也就是第一層到第k 1層為...

二叉樹建立與遍歷

節點定義 class binnode binnode char data2 data data2 binnode char data2,binnode parent2 data data2 void insertasleft char data void insertasright char dat...