用C 遞迴的方法實現二叉樹的基本功能

2021-08-17 03:08:06 字數 1081 閱讀 5624

**各功能的實現主要是運用遞迴的方法

運用遞迴的方法特點就是**簡短且易於理解

首先是標頭檔案的引入 引入了佇列

#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...