問題:再一次驗證自己功底的薄弱,對那些大俠只有仰慕的份。。。
簡單說一下自己的感受,遞迴的實現是個棧,每次函式結束時,退回到上一層,函式結束預設為return。
二叉樹的各種非遞迴實現用到的資料結構是棧。
這次用重溫了stl中stack的用法。
**:
#include #include #include using namespace std;
typedef struct node
*bintree;
void createbtree(bintree &btree) //建立二叉樹
else }
void showbtree(bintree btree) //遞迴前序遍歷二叉樹
}void inorderbtree(bintree btree) //遞迴中序遍歷二叉樹
}void postorderbtree(bintree btree) //遞迴後續遍歷二叉樹
}void displaybtree(bintree btree) //非遞迴前序遍歷二叉樹
q.pop();
if(!q.empty())
}}
}void iorder(bintree btree) //中序非遞迴遍歷
二叉樹 二叉樹的相關操作
遞迴實現 建立求樹高 求葉子數 求節點數 統計度為2的結點個數 後序輸出 先序輸出 中序輸出 交換左右子樹 include include include define true 1 define false 0 define ok 1 define error 0 define overflow ...
二叉樹操作
最近在溫習資料結構,把書中的 寫了一遍,下面是二叉樹的基本操作,包括 1 四種遍歷二叉樹的方法 前序遍歷 中序遍歷 後序遍歷和層序遍歷,其中又包括了遞迴的和非遞迴 2 兩種建立二叉樹的方法 根據二叉樹的前序和中序序列建立二叉樹和根據二叉樹的中序後序序列建立二叉樹。1.二叉樹的儲存結構 headfil...
二叉樹操作
本文章主要包括了以下內容 建立二叉樹類。二叉樹的儲存結構使用鍊錶。供操作 前序遍歷 中序遍歷 後序遍歷 層次遍歷 計算二叉樹結點數目 計算二叉樹高度。接收鍵盤錄入的二叉樹前序序列和中序序列 各元素各不相同 輸出該二叉樹的後序序列。下面是c include include include using ...