二叉树的建立与先序输出、求树的深度。

算法步骤:

读入字符串如果为'#'则表明此二叉树为空树。否则申请一个空间,将ch的值给bt->data。递归创建左子树,右子树。

输入之前应先将二叉树补全即:

创建二叉树:

void creat_binary(BT &bt)
{
     //先序创建二叉树
	char ch;
	cin >> ch;
	if (ch == '#') //如果ch==#则bt为空树
		bt = NULL;
	else
	{
		bt = new binary_tree;
		bt->data = ch;
		creat_binary(bt->lchild); //递归创建左右子树
		creat_binary(bt->rchild);
	}
}

输出二叉树:

//先序输出二叉树,中序,后序输出只需把输出放在两个递归之间与最后即可
void pre_prin(BT bt)
{
	if (bt)
	{
		cout << bt->data << ' ';
		pre_prin(bt->lchild);
		pre_prin(bt->rchild);
	}
}

计算二叉树深度:


                
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值