数据结构——树的遍历(先序,中序,后序,层次)

本文介绍了数据结构中树的遍历方法,包括先序、中序、后序以及层次遍历。先序、中序、后序遍历主要使用递归实现,层次遍历则需要结合队列操作,当节点出队时,其子节点入队。内容适合C++程序员和学习数据结构的读者。
摘要由CSDN通过智能技术生成

通过先序方式创建树,通过简单的递归就可以实现先序,中序,后序遍历。

层次遍历还需要用到队列,当某个节点出队时,它的左右结点要入队(如果有的话)。

#include <iostream>
#include <queue>
using namespace std;

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

//通过先序方式创建树,#表示空
/*
               A
           B      C
         D   E   F  #
        # # # # # # 
应输入:ABD##E##CF###
前序遍历:ABDECF
中序遍历:DBEAFC
后序遍历:DEBFCA
层次遍历:ABCDEF
*/

void creatTree(Node* &root)
{
   
	char data;
	cin >> data;
	if (data == '#')
		root = NULL;
	else
	{
   
		root = new Node;
		root->data = data;
		creatTree(root-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值