二叉樹的序遍歷x(內含結構體與非結構體版x)

2022-04-06 06:32:15 字數 1837 閱讀 3632

3143 codevs 二叉樹的序遍歷

題目描述 description

求一棵二叉樹的前序遍歷,中序遍歷和後序遍歷

輸入描述 input description

第一行乙個整數n,表示這棵樹的節點個數。

接下來n行每行2個整數l和r。第i行的兩個整數li和ri代表編號為i的節點的左兒子編號和右兒子編號。

輸出描述 output description

輸出一共三行,分別為前序遍歷,中序遍歷和後序遍歷。編號之間用空格隔開。

樣例輸入 sample input

2 34 5

0 00 0

0 0樣例輸出 sample output

1 2 4 5 3

4 2 5 1 3

4 5 2 3 1

資料範圍及提示 data size & hint

n <= 16

分類標籤 tags 點此展開 

遞迴搜尋

非結構體版x

1 #include2

3using

namespace

std;45

int tree[30][2]= ;67

void preorder(int node, int j)

1415

void inorder(int node, int j)

2223

void postorder(int node, int j)

3132

intmain()

結構體版x

1 #include2 #include3 #include4

5using

namespace

std;67

struct

node t[20

];10

11void qian(int

root)

1718

void zhong(int

root)

24void hou(int

root)

3031

intmain()

39 qian(1

);40 cout<41 zhong(1

);42 cout<43 hou(1

);44 cout<45return0;

46 }

題目描述 description

求一棵二叉樹的前序遍歷,中序遍歷和後序遍歷

輸入描述 input description

第一行乙個整數n,表示這棵樹的節點個數。

接下來n行每行2個整數l和r。第i行的兩個整數li和ri代表編號為i的節點的左兒子編號和右兒子編號。

輸出描述 output description

輸出一共三行,分別為前序遍歷,中序遍歷和後序遍歷。編號之間用空格隔開。

樣例輸入 sample input

2 34 5

0 00 0

0 0樣例輸出 sample output

1 2 4 5 3

4 2 5 1 3

4 5 2 3 1

資料範圍及提示 data size & hint

n <= 16

分類標籤 tags 點此展開 

遞迴搜尋

非遞迴中序遍歷二叉樹

非遞迴中序遍歷二叉樹 include define maxsize 100 typedef char datatype 二叉鍊錶型別定義 typedef struct binnode binnode,bintree 順序棧型別定義 typedef struct seqstk 初始化棧 int ini...

二叉樹中序非遞迴遍歷

definition for a binary tree node.struct treenode class solution else return out 中序非遞迴遍歷de演算法思想 根據中序遍歷的順序,對於任意乙個結點,優先訪問左孩子,再繼續訪問該左孩子的左孩子,然直到遇到左孩子結點為空的...

二叉樹非遞迴先序遍歷

二叉樹的遞迴先序遍歷很簡單,假設二叉樹的結點定義如下 1 struct binarytreenode 2 遞迴先序遵循 根 左 右的順序 1 void preorder binarytreenode root 2非遞迴我們以乙個例子說明,仍然以之前博文的乙個二叉樹說明 1 82 36 104 55 ...