关于二叉树的递归操作,该如何进行啊,没思路啊,求高手指点。。。
求教这两个程序:typedef int status;
typedef int elemtype;
typedef struct btnode
{
elemtype data;
struct btnode *lchild;
struct btnode *rchild;
}btnode,*bitree;
1。status getlevel(bitree T,elemtype h)//求某结点所在的层次//
{
int height;
if(T->data==h)
return height;
else
{
height=getlevel(T,h)+1;
height=getlevel(T,h)+1;
}
},运行错误,不过我不知道错哪儿,求指教。。。
2。bitree parent(bitree T,bitree p,elemtype e)//求某一结点的双亲//
{
if(T&&T->data==e)
return p;
else if(T->lchild)
return parent(T->lchild,T,e);
else
return parent(T->rchild,T,e);
}T为这个二叉树,p为所输入的结点的双亲的指针,返回p,运行错误,求高手指教。。。
3。请问二叉树递归的原理(麻烦用上面两个程序讲解一下啊,谢谢啦),到底是如何来进行递归调用的,递归时需要注意那几点?递归是否存在前提?
4。二叉树中的递归过程到底该如何推导,编程是否应该用其递归原理来实现
5。最后一点,该如何在二叉树中找到递归的突破口,麻烦推荐一两本介绍递归的书啊,急急急。。。。
谢谢各位啦,都来指点一下啊。。。。