1. 程式人生 > 其它 >【資料結構】二叉樹的遍歷

【資料結構】二叉樹的遍歷

技術標籤:二叉樹演算法

初始為滿二叉樹ABCDEFG
先中後序的程式碼實現

在這裡插入圖片描述

#include <cstdio>
#include <cstdlib>

typedef struct Node{
	char data;
	Node *lchild, *rchild;
}Node, *BiTree;

BiTree newNode(char v){
	BiTree node = (BiTree)malloc(sizeof(BiTree));
	node->data = v;
	node->lchild = NULL;
	node->rchild =
NULL; return node; } void preorder(BiTree T){ if(T == NULL) return; printf("%c", T->data); preorder(T->lchild); preorder(T->rchild); } void inorder(BiTree T){ if(T == NULL) return; inorder(T->lchild); printf("%c", T->data); inorder(T->rchild); } void
postorder(BiTree T){ if(T == NULL) return; postorder(T->lchild); postorder(T->rchild); printf("%c", T->data); } int main(){ BiTree T; T = newNode('A'); T->lchild = newNode('B'), T->rchild = newNode('C'); T->lchild->lchild = newNode('D'), T->lchild->rchild =
newNode('E'), T->rchild->lchild = newNode('F'), T->rchild->rchild = newNode('G'); printf("先序遍歷:"); preorder(T); printf("\n中序遍歷:"); inorder(T); printf("\n後序遍歷:"); postorder(T); return 0; }