二叉树遍历算法的应用

本文主要介绍了二叉树的遍历应用,包括通过先序遍历建立二叉链表,输出叶子结点及其数量,以及计算二叉树的高度。在先序遍历中,依据根结点数据创建二叉链表;输出叶子结点时,考虑不同情况;计算高度则根据左、右子树的高度来确定。
摘要由CSDN通过智能技术生成

概要

主要介绍二叉树相关的代码实现,二叉树遍历算法的具体应用

先序遍历建立二叉链表

void CreateBitree(BiTNode *&T) {
     char ch;
     scanf (“%c”, &ch);
     if (ch==‘#’) T=NULL;
     else {
             T=(BiTree)malloc(sizeof(BiTNode));
             T->data=ch;
 	       CreateBitree(T->lchild);
 	       CreateBitree(T-> rchild);
     }
}

首先输入当前根结点的数据,如果是#,则将当前根结点置为NULL,否则,申请一个新结点,存入当前根结点的数据,分别用当前根结点的左指针和由指针进行递归调用,创建左、右子树。

输出二叉树中的叶子结点

void  DispLeaf(BiTree  T)  { 	//先序遍历二叉树
if(T!=NULL)  {
      if(T->lchild==NULL && T->rchild==NULL)
             printf (“%d”,T->data); 	//访问叶子结点
      DispLeaf (T->lchild); 		//先序遍历左子树
      DispLeaf (T->rchild);		//先序遍历右子树
	}
}

当二叉树为空时,叶子为0。当二叉树只有一个根结点时,根结点就是叶子结点,输出叶子结点。在其他情况下,输出左子树与右子树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Beiyux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值