本人用C#2.0實現了二叉樹的定義,怎么構造一顆已知的二叉樹,用幾種常規(guī)的算法(先序,中序,后序,層次)遍歷二叉樹。希望能給有需要人帶來幫助,也希望能得到大家的指點。有關C#數據結構的書在書店里找到,網上也是極少,如果你有好的學習資源別忘了告訴我。先謝了。數據結構對一個程序員來說,現在是太重要了,數據結構學得好的人,邏輯思維一定很強,在程序設計的時候,就不會覺得太費勁了。而且是在設計多層應用程序的時候,真是讓人絞盡腦汁啊。趁自己還年輕,趕緊練練腦子。哈哈,咱們盡快進入主題吧。
本程序中將用到一棵已知的二叉樹如圖(二叉樹圖)所示。
下面簡單介紹一下幾種算法和思路:
先序遍歷:
1. 訪問根結點
2. 按先序遍歷左子樹;
3. 按先序遍歷右子樹;
4. 例如:遍歷已知二叉樹結果為:A->B->D->G->H->C->E->F
中序遍歷:
1. 按中序遍歷左子樹;
2. 訪問根結點;
3. 按中序遍歷右子樹;
4. 例如遍歷已知二叉樹的結果:B->G->D->H->A->E->C->F
后序遍歷:
1. 按后序遍歷左子樹;
2. 按后序遍歷右子樹;
3. 訪問根結點;
4. 例如遍歷已知二叉樹的結果:G->H->D->B->E->F->C->A
層次遍歷:
1. 從上到下,從左到右遍歷二叉樹的各個結點(實現時需要借輔助容器);
2. 例如遍歷已知二叉樹的結果:A->B->C->D->E->F->G->H
附加整個解決方案代碼:
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網友會為你解答!! 點擊進入論壇