| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1370 人关注过本帖
标题:[求助]前序线索二叉树问题!
只看楼主 加入收藏
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
不对..我这书上到是没明确说 能建立

可是.好象意思是 能建.它说"我们先以中序为例"

让我再找找资料去...

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-05-23 23:15
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

人呢.我找到算法了..要不要了?


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-05-24 21:39
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
要啊,我在啊

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-24 21:57
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

不好意思.今天才发表.由于前几天写的有漏洞.今天才有时间修改.

代码如下:

#include <stdio.h>
#include <stdlib.h>
struct btnode
{
int data,rflag;
struct btnode *lchild,*rchild;
};


struct btnode *creatbt(struct btnode *bt,int k)
{
struct btnode *p,*t;
int x;
scanf("%d",&x);
if(x!=0)
{
p=(struct btnode *)malloc(sizeof(struct btnode));
p->data=x;p->rflag=0;
p->lchild=p->rchild=NULL;

if(k==0) t=bt=p;
if(k==1) bt->lchild=p;
if(k==2) bt->rchild=p;

creatbt(p,1);
creatbt(p,2);
}
return(t);
}


void xiansuo(struct btnode *bt)
{
struct btnode *s[20],*p,*k=NULL;
int top=-1;

if(bt!=NULL)
{
top++; s[top]=bt;
while(top>=0)
{
p=s[top];top--;
if(k) k->rflag=1,k->rchild=p,k=NULL;
if(p->rchild==NULL) k=p;

if(p->rchild!=NULL) top++,s[top]=p->rchild;
if(p->lchild!=NULL) top++,s[top]=p->lchild;
}
p->rflag=-1;
}
return;
}

void bianli(struct btnode *t)
{
while(t->rflag!=-1)
{
printf("%d ",t->data);
if((t->rflag ==0) && (t->lchild!=NULL))
t=t->lchild;
else t=t->rchild;
}
printf("%d",t->data);

return;
}


main()
{
struct btnode *bt=NULL;
bt=creatbt(bt,0);
xiansuo(bt);
bianli(bt);
getch();
}


由于我没有在网上搜索到相关先序的算法,所以 这完全是自己的算法 如果有不足 请指出

我只定义了一个右标记.也就是说.左面我没有做处理..所以我称之为 二叉树先序半线索化

当然..它和普通的线索化的方便性没有什么区别..查找也是很方便的..我没有写查找函数.

至于相关的算法和线索化的理论 我有时间会在数据结构发表!

所以你就理解的看看吧...


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-05-28 16:27
快速回复:[求助]前序线索二叉树问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015583 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved