读书人

有关二叉树的有关问题

发布时间: 2012-02-22 19:36:56 作者: rapoo

请教高手 有关二叉树的问题
请问一下什么样的两颗二叉树是同构的呢?
用分治法怎样判断两颗二叉树是同构的呢?
请各位高手指点 希望给出算法和c或c++代码 小弟在此先谢谢各人仁兄了.......

[解决办法]
递归,左儿子一样,右儿子一样 就同构
[解决办法]
二叉树是同构的定义

问题就是答案。
[解决办法]
递归,就是递归
[解决办法]
int Func(bTree *T1, bTree *T2)
{
if(T1 && T2)
{
int i = Func(T1 -> lChild, T2 -> lChild);
int j = Func(T1 -> rChild, T2 -> rChild);
return i&&j ? 1 : 0;
}
else
if((T1 == NULL) && (T2 == NULL))
return 1;
else
return 0;
}
[解决办法]
同构就是对应位置的两个节点要么都为空,要么都不为空,其他情况都不同构
[解决办法]
学习中

读书人网 >软件架构设计

热点推荐