二叉树先序中序后序的递归算法---《数据结构》

Posted 自由的背包

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树先序中序后序的递归算法---《数据结构》相关的知识,希望对你有一定的参考价值。

//先序遍历递归
int PreOrderTraverse(BiTree T,int (* Visit)(char e)){
	if(T){
		if(Visit(T->data)){
			if(PreOrderTraverse(T->lchild,Visit))
				if(PreOrderTraverse(T->rchild,Visit))
					return 1;
		}
		return 0;
	}else
		return 1;
} 
//中序遍历递归
void MidOrderTraverse(BiTree T,int (*Visit)(char e)){
	if(T){
		MidOrderTraverse(T->lchild,Visit);
		Visit(T->data);
		MidOrderTraverse(T->rchild,Visit);
	}
} 

//后序递归遍历
void PostOrderTraverse(BiTree T,int(* Visit)(char e)){
	if(T){
		MidOrderTraverse(T->lchild,Visit);
		MidOrderTraverse(T->rchild,Visit);
		Visit(T->data);
	}
} 

 

以上是关于二叉树先序中序后序的递归算法---《数据结构》的主要内容,如果未能解决你的问题,请参考以下文章

已知先序中序求后序的算法:

C语言数据结构,急求在线二叉树先序中序后序递归遍历

二叉树问题:递归方式实现二叉树先序中序后序遍历

用递归算法先序中序后序遍历二叉树

二叉树先序中序后序遍历 递归与非递归 Python实现

二叉树先序中序后序遍历 递归与非递归 Python实现