二叉树的层次遍历

本文详细介绍了二叉树的层次遍历,首先定义了二叉链表节点类型,接着构建了一个静态二叉树。然后,利用STL中的队列实现层次遍历算法,最后给出了完整代码及执行结果。
摘要由CSDN通过智能技术生成

本篇主要介绍二叉树的层次遍历算法。要点如下:

1、采用二叉链表存储结构。

2、手工构建一棵简单的静态二叉树。

3、基于stl的队列queue构建层次遍历算法。

一、测试用例中用到的二叉树

二、定义二叉链表的结点类型

struct node
{//树的结点结构。二叉链表表示法
	char data;
	node *lchild,*rchild;
};

三、构建静态二叉树

为了将精力集中到二叉树的层次遍历上,我们构建一棵静态的二叉树。

int main(  )
{
	node a,b,c,d,e;//定义5个结点作为二叉树的结点
	//为每个结点赋值
	a.data='a';a.lchild=a.rchild=0;
	b.data='b';b.lchild=b.rchild=0;
	c.data='c';c.lchild=c.rchild=0;
	d.data='d';d.lchild=d.rchild=0;
	e.data='e';e.lchild=e.rchild=0;
	//将各个结点连接成树
	a.lchild=&b;a.rchild=&c;
	c.lchild=&d;c.rchild=&e;
}

四、层次遍历二叉树

自然语言描述如下:

1、访问根root; root入队列q。

2、当队列q不空时,重复以下步骤3-6,否则跳转到步骤7.

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值