大家帮忙思考一下:如何中序创建二叉树?

xrbeck 2002-01-11 10:53:20
刚想了一下。似乎不好解决,听听各位大虾的看法。谢谢
...全文
53 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kbsoft 2002-01-21
  • 打赏
  • 举报
回复
QQ:7862483
xrbeck 2002-01-16
  • 打赏
  • 举报
回复
是第一种意思。。
楼上的大虾可否解释一下。谢谢。
kbsoft 2002-01-11
  • 打赏
  • 举报
回复
typedef struct node{
char info;
struct node *llink,*rlink;
int lth,rth;}NODE;

NODE *threaded(NODE *root)
{NODE *p,*pr;
PStack s; /*定义一个堆栈S*/
if(root==NULL)return NULL;
p=root;
pr=NULL;
s=(PStack)malloc(sizeof(Stack));
initSTK(s);
do{
for(;p!=NULL;)
{push(p,s);
p=p->link;}
p=top(s);
pop(s);
if(pr==NULL) p->lth=1;
else
{if(p->llink==NULL)
{ p->llink=pr;
p->lth=1;}
else p->lth=0;
if(pr->rlink==NULL)
{pr->rlink=p;
pr->rth=1;
else pr->rth=0;}
pr=p;
p=p->rlink; /*进入右子树*/
}while((p!=NULL)||(!(emptySTK(s))));
pr->rth=1;
return(root);
}

nofog 2002-01-11
  • 打赏
  • 举报
回复
什么意思?
给定一个中序序列,然后根据序列建树?

还是其他的意思?

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧