编写递归算法,在二叉树中求位于先序序列中第K个位置的结点?以及用非递归算法做一下
展开全部
typedef struct bitnode
{
char data;
struct bitnode *father;
struct bitnode *lchild, *rchild;
}bitnode, *bitree;
int fun(int k,bitnode *head)
{
int i=1,j=0;
if(head->lchild!=null)
j=fun(k,head->lchild);
if(j+1==k)
printf("%c",head->data);
if(head->rchild!=null)
i=fun(k,head->rchild);
return i+j;
}
{
char data;
struct bitnode *father;
struct bitnode *lchild, *rchild;
}bitnode, *bitree;
int fun(int k,bitnode *head)
{
int i=1,j=0;
if(head->lchild!=null)
j=fun(k,head->lchild);
if(j+1==k)
printf("%c",head->data);
if(head->rchild!=null)
i=fun(k,head->rchild);
return i+j;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询