C Language 二叉树 - 二叉树的遍历(十五)

Posted Adorable_Rocy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C Language 二叉树 - 二叉树的遍历(十五)相关的知识,希望对你有一定的参考价值。

层次遍历也是二叉树中的一种遍历方式,说明是从上至下从左至右的遍历方式进行对二叉树的遍历,下面来介绍一下二叉树的层次遍历算法。

二叉树如下:

原理如下:

  • 代码实现起来也就按照原理来书写就变得十分简单啦:
//环形队列算法遍历
void levelOrder(BTNode *bnode){
	BTNode *b;
	SqQueue *qu;
	initQueue(qu);
	enQueue(qu,bnode);		//A 进队
	b = bnode;
	printf("\\n");
	while(!QueueEmpty(qu)){
		deQueue(qu,b);	//A
		printf("%3c",b->data);	//A 
		if(b->lchild != NULL){
			enQueue(qu,b->lchild);
		}
		if(b->rchild != NULL){
			enQueue(qu,b->rchild);
		}
	}
}
  • 结果如下:

以上是关于C Language 二叉树 - 二叉树的遍历(十五)的主要内容,如果未能解决你的问题,请参考以下文章

为啥树的后根遍历对应二叉树的中序遍历

C语言数据结构“遍历二叉树”

根据二叉树的前序遍历和中序遍历构建二叉树的c语言完整代码

二叉树的遍历

C语言,如何用非递归方法输出二叉树的根到所有叶子路径?

数据结构《四》二叉树的实现