通过遍历的方式求与树相关的数据

1.输出二叉树中的叶子节点

void PreOrderPrintLeaves(BinTree BT)
{
	if(BT){
		if(!BT->Left && !BT->Right)
			printf("%d\n",BT->Data);
		PreOrderPrintLeaves(BT->Left);
		PreOrderPrintLeaves(BT->Right);
	}
}

 对前序遍历做了简单的修改

 

2.求二叉树的深度

int PostOrderGetHight(BinTree BT)
{
	int HL,HR,MaxH;
	if(BT){
		HL=PostOrderGetHight(BT->Left);
		HR=PostOrderGetHight(BT->Right);
		MaxH=(HL>HR)?HL:HR;
		return (MaxH+1);
	}
	else return 0;
}

 对后序遍历进行修改(理解上存疑)

posted @ 2016-08-03 16:00  lcpl  阅读(172)  评论(0)    收藏  举报