資料結構 遞迴方式遍歷二叉樹

2021-10-11 06:19:05 字數 1166 閱讀 3132

#include

#include

#include

#define ok 1;

#define error -1;

/** 採用二叉鍊錶表示

*/typedef

struct btnode btnode,

*btree;

//宣告函式

intinitbtree

(btree& t)

;//先序遍歷建立左子樹

intpre_visit

(btree &t)

;//先序遍歷

intmid_visit

(btree& t)

;//中序遍歷

intlas_visit

(btree& t)

;//後序遍歷

intinitbtree

(btree& t)

else

}int

createtree

(btree& t)

intpre_visit

(btree& t)

printf

("%d\n"

,t->data)

;pre_visit

(t->lchild)

;pre_visit

(t->rchild)

;return ok;

}int

mid_visit

(btree& t)

mid_visit

(t->lchild)

;printf

("%d\n"

,t->data)

;mid_visit

(t->rchild)

;return ok;

}int

las_visit

(btree& t)

las_visit

(t->lchild)

;las_visit

(t->rchild)

;printf

("%d\n"

,t->data)

;return ok;

}int

main()

建立二叉樹的時候採用的儲存結構為二叉鍊錶的方式,並使用先序遍歷訪問的方法建立二叉樹,遍歷的時候採用的是遞迴的呼叫

遍歷二叉樹(資料結構,遞迴)

在二叉樹的應用中,常常要求在樹中查詢具有某種特徵的結點,或者對全部結點逐一進行某種處理。這就是二叉樹的遍歷問題。所謂二叉樹的遍歷是指按一定的規律和次序訪問樹中的各個結點,而且每個結點僅被訪問一次。訪問 的含義很廣,可以是對結點作各種處理,如輸出結點的資訊等。遍歷一般按照從左到右的順序,共有3種遍歷方...

資料結構 二叉樹的遍歷 遞迴

二叉樹的遍歷。include include define maxsize 100 typedef char elemtype using namespace std typedef struct node btnode void createbtnode btnode b,char str 建立二...

資料結構 樹 二叉樹的遍歷方式(遞迴和非遞迴)

include include include includeusing namespace std typedef struct btnode btnode,btree void createbtree btree t else void preorder btree t 先序遍歷 遞迴 void...