二叉樹前序 中序 後序 層次遍歷

2022-04-10 01:01:35 字數 2500 閱讀 4632

**:

分別用了三種不同的方法實現了二叉樹的前序遍歷。

1 #include2  #include3

using

namespace

std;

4struct

btreenode;

11/*

12void preorder(btreenode *t)

19*/

20/*

21void preorder(btreenode *t)34}

35*/

36void preorder(btreenode *t)

46if(!s.empty())51}

52}53int

main()

56 view code

分別用了三種不同的方法實現了二叉樹的中序遍歷。

1/*2

input:32

410 5 4 -1 -1 -1 20 19 -1 -1 40 -1 -1

530 10 8 20 -1 -1 -1 -1 50 40 -1 45 -1 -1 -1

6output:

74 5 10 19 20 40

820 8 10 30 40 45 509*/

10 #include11 #include12

using

namespace

std;

13struct

btreenode;

19struct

snode;

24/*

25void inorder(btreenode *t)

32*/

33/*

34void inorder(btreenode *t)

42if(!s.empty())48}

49}50*/

51void inorder(btreenode *t)

68 temp.flag = true;69

s.push(temp);

70if(temp.node->lchild !=null)75}

76}77}

78void create(btreenode *&t)91}

92int

main()

102return0;

103 }

分別用了三種不同的方法實現了二叉樹的後序遍歷。

1/*2

input:32

410 5 4 -1 -1 -1 20 19 -1 -1 40 -1 -1

530 10 8 20 -1 -1 -1 -1 50 40 -1 45 -1 -1 -1

6output:

74 5 19 40 20 10

820 8 10 45 40 50 309*/

10 #include11 #include12

using

namespace

std;

13struct

btreenode;

20struct

snode;

25/*

26void postorder(btreenode *t)

33*/

34/*

35void postorder(btreenode *t)

46if(!s.empty())

54else59}

60}61}

62*/

63void postorder(btreenode *t)

82if(temp.node->lchild !=null)

8788}89

}90}91

void create(btreenode *&t)

104}

105int

main()

115return0;

116 }

二叉樹層次遍歷

1/*2

二叉樹的層次遍歷

3input:42

510 5 4 -1 -1 -1 20 19 -1 -1 40 -1 -1

630 10 8 20 -1 -1 -1 -1 50 40 -1 45 -1 -1 -1

7output:

810 5 20 4 19 40

930 10 50 8 40 20 45

10*/

11 #include12 #include13

using

namespace

std;

14struct

btreenode;

20void layerorder(btreenode *t)33}

34void create(btreenode *&t)47}

48int

main()

58return0;

59}6061

6263

64

二叉樹前序 中序 後序 層次遍歷

分別用了三種不同的方法實現了二叉樹的前序遍歷。1 include2 include3 using namespace std 4struct btreenode 11 12void preorder btreenode t 19 20 21void preorder btreenode t 34 3...

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

前序遍歷 dlr 是二叉樹遍歷的一種,也叫做先跟遍歷,先序遍歷,前序周遊,可記做根左右。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根節點,然後遍歷左子樹,最後遍歷右子樹。若二叉樹為空則結束返回,否則 1 ...

二叉樹前序,中序,後序遍歷詳解

只要是搞計算機的,對資料結構中二叉樹遍歷都不陌生,但是如果用到的機會不多那麼就會慢慢淡忘,溫故而之新才是最好的學習方式,現在就重新溫習一下這方面的知識。首先我想先改變這幾個遍歷的名字 前根序遍歷,中根序遍歷,後根序遍歷 前中後本來就是相對於根結點來說的,少乙個字會產生很多不必要的誤解。1.前根序遍歷...