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

2021-07-12 03:56:12 字數 660 閱讀 1315

/*

二叉樹的遍歷。

*/#include #include #define maxsize 100

typedef char elemtype;

using namespace std;

typedef struct node

btnode;

void createbtnode(btnode *&b,char *str) //建立二叉樹}}

j++;

ch=str[j]; //迴圈str中的每個字元

}}void preorder(btnode *b) //先序遍歷的遞迴演算法

}void inorder(btnode *b) //中序遍歷的遞迴演算法

}void postorder(btnode *b) //後序遍歷的遞迴演算法

}int main()

{ btnode *b;

createbtnode(b,"a(b(d(,g)),c(e,f))");

cout<

preorder(b);

cout執行結果:

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

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

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

include include include define ok 1 define error 1 採用二叉鍊錶表示 typedef struct btnode btnode,btree 宣告函式 intinitbtree btree t 先序遍歷建立左子樹 intpre visit btree ...

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

複習一下二叉樹遞迴非遞迴的先中後序遍歷 寫非遞迴後序遍歷的時候卡殼了,參考了一下網上的思路,大概有兩種,一種是標記每個節點是否有走過,如果父節點的左右子節點都標記訪問過,則可以訪問父節點 一種是定義乙個指標,指向上乙個訪問的節點,如果某父節點的右子節點為null或者是上乙個訪問的節點,則該父節點應當...