通過本實驗的學習,掌握二叉樹操作的實現原理與方法,進一步掌握遞迴演算法的設計方法,為靈活運用二叉樹奠定基礎。
二、實驗內容
【問題描述】
用遞迴的方法先序建立二叉樹。
用遞迴的方法先序(中序、後序)遍歷二叉樹。
【基本要求】
用二叉鍊錶表示和儲存二叉樹,實現二叉樹的建立儲存和遍歷顯示。
【測試資料】
輸入:
二叉樹:
【實現提示】
為了識別葉子節點,需要用標記將二叉樹變成擴充套件二叉樹的形式(將葉子節點和只有乙個分支的分支節點的孩子用標記補全)。
三、實驗原理、方法和手段
1、根據實驗內容程式設計,上機除錯、得出正確的執行程式。
2、編譯執行程式,觀察運**況和輸出結果。
四、實驗環境、條件
硬體:計算機一台。
軟體:dev c++, visual c++。
五、實驗組織執行要求
以學生自主訓練為主的開放模式組織教學。
六、實驗步驟
根據問題描述按照基本要求設計並編寫程式,對程式進行除錯,並使用測試資料對程式進行測試,將執行結果進行截圖、對所得到的的結果分析。
七、實驗報告
記錄資料結構設計的過程及實驗步驟、上機過程中遇到的困難及解決辦法、遺留的問題、意見和建議等。格式見學生實驗報告。
**:
#include#includeusing namespace std;
const int maxn = 1e5 + 10;
char c[maxn];
int k;
struct node ;
void creatbt(node *&b)
b->data = c[k++];
creatbt(b->lchild);
creatbt(b->rchild);
}void preorder(node *b)
void inorder(node *b)
void postorder(node *b)
void destroybt(node *&b)
int main()
二叉樹建立和遍歷
二叉樹建立遍歷規則 1.先序 根 左 右 2.中序 左 根 右 3.後序 左 右 根 二叉樹定義和輔助函式如下 struct node void visit int data int indata 先序建立二叉樹 struct node createbitree 先序建立乙個二叉樹 return t...
二叉樹建立和遍歷
include include 帶返回值建立二叉樹 最簡單方法 節點資料結構 struct bs node typedef struct bs node tree tree head,p,root 建立二元查詢樹 有返回值的可以不傳參 沒有的話如何傳參 輸入0代表到了某個葉子節點 tree crea...
二叉樹建立和遍歷
二叉樹建立遍歷規則 1.先序 根 左 右 2.中序 左 根 右 3.後序 左 右 根 二叉樹定義和輔助函式例如以下 struct node void visit int data int indata 先序建立二叉樹 struct node createbitree 先序建立乙個二叉樹 return...