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

2021-09-19 12:27:53 字數 1036 閱讀 6604

內容:

二叉樹初始化(先序輸入)

層序遍歷(非遞迴的佇列方式)

先序遍歷(遞迴)

中序遍歷(遞迴)

後序遍歷(遞迴)

**:

#include#include#include#include#define nodedata char

using namespace std;

typedef struct treenode

treenode, *tree;

#define quedata treenode*

typedef struct quenode

quenode;

typedef struct queque

queue;

void _init(queue &q)

bool _empty(queue q)

quedata firstnode(queue q)

void qpush(queue &q, quedata e)

quedata qpop(queue &q)

void initroot(tree &root)

void initchild(tree &root)//前序輸入初始化 }

void visitallpre(tree tree1)//前序

}void visitallmid(tree tree1)//中

}void visitallaft(tree tree1)//後序

}void visitallfloor(tree tree1)//層次

while (!_empty(q))

if (firstnode(q)->rchild != null)

qpop(q); }}

int main()

程式截圖

二叉樹的實現和四種遍歷

include include using namespace std struct node node newnode int x void insert node root,int x if xdata else void search node root,int x,int newdata s...

二叉樹四種遍歷方式

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

二叉樹的四種遍歷方式

前言最近做題用到很多次二叉樹的遍歷,因此寫這篇文章記錄二叉樹的四種遍歷方式。首先為了方便,先假設二叉樹的結構如下 struct treenode 對於程式的輸入為 3 根節點root 9 20 4 10 15 71.二叉樹的層次遍歷 層次遍歷就是依次遍歷樹的每一層。借助佇列,可以輕鬆實現。void ...