递归调用很纠结
本人最近在学数据结构,总感觉自己的逻辑思维能力很差,一用到递归调用就不莫不着头脑,感觉算法里面好些技巧用了递归之后其实很简单举个例子,求二叉树的高度的时候,只有用到递归,五六行的代码就搞定了。可自己还是琢磨不透;
int treehigh(Tree *t)
{
if(t == NULL)
{
return 0;
}
else
{
int rhigh=treehigh(t->right);
int lhigh=treehigh(t->left);
if(rlength > llength)
{
return (rhigh+1);
}
else
{
return (lhigh+1);
}
}
}
自己很迷茫,不知道把递归理解透彻;
希望哪位大侠帮我讲解一下递归调用的过程;