**各功能的實現主要是運用遞迴的方法
運用遞迴的方法特點就是**簡短且易於理解
首先是標頭檔案的引入 引入了佇列
#include#includeusing namespace std;
然後是樹的實現部分 用類的方法實現
函式實現方法均在類內實現
//運用遞迴實現各項功能
class node //節點
char m_value;
node *m_left;
node *m_right;
};class tree //樹
node* create(char *&str)//用給出的字串遞迴創造二叉樹 }
void preorder(node *root)//前序遍歷 }
void inorder(node *root)//中序遍歷 }
void postorder(node *root)//後序遍歷 }
int size(node *root)//求節點個數
int height(node *root)//求樹的深度 }
node *search(node *root,char k)//按字元查詢樹的節點並返回
node *parent(node *root,char k)//查詢該節點的父節點並返回
void cengci(node *root)//層次遍歷 非遞迴方法 引入佇列
cout<
各項功能均可用不是遞迴的方法實現 但**會比較長 且個人感覺邏輯上不便於理解 非遞迴的方法下次再貼出來
最後是主函式除錯部分 一切功能正常
用遞迴的方法構建二叉樹
假設二叉樹為 ab c d e 因為程式中要知道葉子結點 終點 所以要將上面的二叉樹變成擴充套件二叉樹 把葉子結點的孩子補成 用作標記 擴充套件後就變成了 ab c d e 那麼,在輸入的時候,需要輸入 ab d c e 注意,輸入後,按enter鍵即可 程式如下 cpp view plain co...
二叉樹的基本操作 遞迴實現
1.二叉樹的基本概念 在電腦科學中,二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹常被用於實現二叉查詢樹和二叉堆。二叉樹的每個結點至多只有二棵子樹 不存在度大於2的結點 二叉樹的子樹有左右之分,次序不能顛倒。二...
用遞迴方法建立二叉樹
2012 11 01 20 20 8624人閱讀收藏 舉報 資料結構與演算法 58 假設二叉樹為 ab c d e 因為程式中要知道葉子結點 終點 所以要將上面的二叉樹變成擴充套件二叉樹 把葉子結點的孩子補成 用作標記 擴充套件後就變成了 ab c d e 那麼,在輸入的時候,需要輸入 ab d c...