二叉樹的四種遍歷方式

2021-09-25 16:17:44 字數 684 閱讀 6785

前言最近做題用到很多次二叉樹的遍歷,因此寫這篇文章記錄二叉樹的四種遍歷方式。

首先為了方便,先假設二叉樹的結構如下:

struct treenode 

};

對於程式的輸入為:

3 //根節點root

/ \

9 20

/ \ / \

4 10 15 7

1.二叉樹的層次遍歷

層次遍歷就是依次遍歷樹的每一層。借助佇列,可以輕鬆實現。

void

levelorder

(treenode *root)

cout

!curused;

cnt++;}

}

輸出:

第1層:3

第2層:9 20

第3層:4 10 15 7

2.二叉樹的前序遍歷

結果:3 9 4 10 20 15 7

3.二叉樹的中序遍歷

結果:4 9 10 3 15 20 7

4.二叉樹的後序遍歷

結果:4 10 9 15 7 20 3

二叉樹四種遍歷方式

二叉樹的四種遍歷方式 include include using namespace std 二叉樹節點的定義 class treenode 遞迴方式,每個結點只遍歷一次,時間複雜度o 1 遞迴最多呼叫n次,空間複雜度o n 先序 根 遞迴左 遞迴右 void preorder treenode r...

二叉樹的四種遍歷方式

二叉樹是一種很常見的資料結構,其結構如下圖 下面接受他的四種遍歷方式 前提 這裡先給出測試中的二叉樹結構,如下圖所示 該二叉樹對應的幾種遍歷方式的結果順序 先序遍歷 10 6 4 8 14 12 16 中序遍歷 4 6 8 10 12 14 16 後序遍歷 4 8 6 12 16 14 10 層次遍...

二叉樹四種遍歷的例項實現

內容 二叉樹初始化 先序輸入 層序遍歷 非遞迴的佇列方式 先序遍歷 遞迴 中序遍歷 遞迴 後序遍歷 遞迴 include include include include define nodedata char using namespace std typedef struct treenode ...