二叉樹的定義和二叉樹的遍歷簡單使用
阿新 • • 發佈:2020-08-05
樹就是一對多的關係,樹是非線性結構,他是由遞迴定義的,樹是由一個根結點和子樹所構成的,樹中最常見的就是二叉樹,
下面討論的都是二叉樹,二叉樹是由根結點和左右子樹構成的,而研究某一個結構上面的操作,就先要讓他可以在計算機中表示,即怎麼儲存他,線性表有順序儲存,也有鏈式儲存,
因為順序儲存二叉樹不太后續的操作,所以一般用鏈式儲存,
1.二叉樹結點的定義
#include <stdio.h> #include<stdlib.h> typedef struct BiNode { int data; struct BiNode* lchild, *rchild; }BiNode,*BiTree;
2.前中後序遍歷
//1.前序遍歷 void InOrderTraverse(BiTree T) { if (T) { printf("%d", T->data); InOrderTraverse(T->lchild); InOrderTraverse(T->rchild); } } //2.中序遍歷 void InOrderTraverse(BiTree T) { if (T) { InOrderTraverse(T->lchild); printf("%d", T->data); InOrderTraverse(T->rchild); } } //3.後序遍歷 void InOrderTraverse(BiTree T) { if (T) { InOrderTraverse(T->lchild); InOrderTraverse(T->rchild); printf("%d", T->data); } }
好了,我們下回見,peace