数据结构(C语言版) 树和二叉树 算法设计Demo6

Posted Aiden (winner)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(C语言版) 树和二叉树 算法设计Demo6相关的知识,希望对你有一定的参考价值。

用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目。

[题目分析]

若某个结点左子树空右子树非空或者右子树空左子树非空,则该结点为度为1的结点

[算法描述]

int Level(BiTree bt) //层次遍历二叉树,并统计度为1的结点的个数
int num=0; //num统计度为1的结点的个数
	if(bt)
	QueueInit(Q); QueueIn(Q,bt);//Q是以二叉树结点指针为元素的队列
		while(!QueueEmpty(Q))
			p=QueueOut(Q);
			cout<<p->data;     //出队,访问结点
		if(p->lchild && !p->rchild ||!p->lchild && p->rchild)
			num++;
	//度为1的结点
		if(p->lchild)
			QueueIn(Q,p->lchild); //非空左子女入队
		if(p->rchild)
			QueueIn(Q,p->rchild); //非空右子女入队
		 // while(!QueueEmpty(Q))
	//if(bt)         
return(num); 
//返回度为1的结点的个数 

以上是关于数据结构(C语言版) 树和二叉树 算法设计Demo6的主要内容,如果未能解决你的问题,请参考以下文章

数据结构(C语言版) 树和二叉树 算法设计Demo3

数据结构(C语言版) 树和二叉树 算法设计Demo6

数据结构(C语言版) 树和二叉树 算法设计Demo4

数据结构(C语言版) 树和二叉树 算法设计Demo2

数据结构(C语言版) 树和二叉树 算法设计Demo7

数据结构C语言版 —— 树和二叉树的概念