二叉樹,多元樹的建立和遍歷

2021-08-01 07:53:03 字數 898 閱讀 5680

多元樹沒有中序遍歷

在建立多元樹的時候因為不知道每個結點,有多少個兒子,所以比較麻煩。

這裡使用了孩子兄弟法。

就是將二叉樹的左右兒子指標,指向邏輯大兒子和第乙個兄弟,而後便成了二叉樹。

#include#includestruct tree

;void buildtree(tree *&root) //先序建立多元樹

root=new tree; //申請空間

root->node=ch;

buildtree(root->firstson); //遍歷邏輯大兒子

buildtree(root->nextbrother); //遍歷兄弟

}void preordertree(tree *root) //先序遍歷

void postordertree(tree *root) //後序遍歷

int main()

二叉樹

#include#includestruct tree

;void buildtree(tree *&root) //先序建立二叉樹

root=new tree; //申請空間

root->node=ch;

buildtree(root->left); //建立左兒子

buildtree(root->right); //建立右兒子

}void preordertree(tree *root) //先序遍歷

void inordertree(tree *root) //中序遍歷

void postordertree(tree *root) //後序遍歷

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