数据结构之二叉树遍历的递归算法

        二叉树是数据结构这门课程中非常重要的知识点,也是最基本的一种树形结构。在二叉树的遍历又是这部分内容的重中之重,那么今天就这部分内容和大家做一个分享。所谓二叉树遍历,就是按照某种特定的次序,遍访整个二叉树中的每个结点,使得每个结点被访问一次,而且只访问一次。

在二叉树中我们令L,R,V分别表示二叉树被访问结点的左子树,右子树和该结点。遍历一般是规定从左向右,所以就有以下3种规则:VLR(前序遍历)、LVR(中序遍历)、LRV(后序遍历)。

下面给大家分享三种遍历的算法:

1、二叉树中的前序遍历算法

template<class Type>
void BinTree<Type>::PreOrder(BinTreeNode<Type> *t)const
{
	if(t != NULL)
	{
		cout<<t->data<<" ";
		PreOrder(t->leftChild);
		PreOrder(t->rightChild);
	}
}

2、二叉树中的中序遍历算法

template<class Type>
void BinTree<Type>::InOrder(BinTreeNode<Type> *t)const
{
	if(t != NULL)
	{
		InOrder(t->leftChild);
		cout<<t->data<<" ";
		InOrder(t->rightChild);
	}
}

3、二叉树中的后序遍历算法

template<class Type>
void BinTree<Type>::PostOrder(BinTreeNode<Type> *t)const
{
	if(t != NULL)
	{
		PostOrder(t->leftChild);
		PostOrder(t->rightChild);
		cout<<t->data<<" ";
	}
}
以上就是本次分享的内容啦,希望能帮到大家

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值