判断二叉树相似

描述:

 

若已知两棵二叉树B1和B2皆为空,或者皆不空且B1的左、右子树和B2的左、右子树分别相似,
则称二叉树B1和B2相似。试编写算法,判别给定两棵二叉树是否相似。

 

算法设计:

 

首先定义 如果相似则返回true,否则返回false。

1)if (B1 == NULL && B2 == NULL) 则 like(B1,B2) = true。

2)if (B1,B2中有一个为空) 则 like(B1,B2) = false;

3)当B1,B2都不为空时,如果B1的左子树 和 B2的左子树 相似,B1的右子树 和B2的右子树相似,则like(B1,B2)= true;

 

算法实现。

 

对于上述算法设计思想,很显然,利用递归方法非常简单。

 

 

总结:

 

递归方法在二叉树中使用非常广泛。所以在实现的时候我们一般可以先考虑下递归思想。

这样写的程序既简单清晰,有很容易让人理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值