永发信息网

二叉排序树实现1) 编程实现二叉排序树,包括生成、插入,删除

答案:1  悬赏:10  手机版
解决时间 2021-02-14 12:54
2) 对二叉排序树进行先根、中根、和后根非递归遍历
3) 每次对树的修改操作和遍历操作的显示结果都需要在屏幕上用树的形状表示出来。
4) 分别用二叉排序树和数组去存储一个班(50人以上)的成员信息(至少包括学号、姓名、成绩3项),对比查找效率,并说明在什么情况下二叉排序树效率高,为什么?
急用,本人初学,又快交了,无奈。。。财富值不多,会努力赚取并提高悬赏。
最佳答案
#include <stdio.h>
struct node { int data;
struct node *lchild;
struct node *rchild;
};
typedef struct node NODE;
(1)递归函数
NODE *search(t, x)
NODE *t;
char x;
{ if (t==NULL)
return(NULL);
else
{ if (t->data==x)
return(t);
if (x<t->data)
return(search(t->lchild));
else
return(search(t->rchild));
}
}
(2)非递归函数 用非递归实现查找,程序同样很简单,但效率比递归程序高的多。
NODE *search(NODE *t, char x)
{ NODE *p;
p=t;
while (p!=NULL)
{ if (p->data==x) return(p);
if (x<p->data)
p=p->lchild;
else
p=p->rchlid;
}
printf(“找不到值为%x的结点!”,x);
return (NULL);
void insert(t, s)
NODE **t, *s
{ if (*t==NULL)
*t=s;
else
{ if (s->data<(*t)->data)
insert(&((*t)->lchild),s);
else if (s->data>(*t)->data)
insert(&((*t)->rchild),s);
else
printf("\n数据%d已在二叉排序树中!", s->data);
}
}
void creat(t)
NODE **t
{ int x;
NODE *s;
printf("\n 输入待排序的数据序列(以-1结束):");
scanf("%d",&x);
while (x!=-1)
{ s=(NODE *)malloc(sizeof(NODE));
s->data=x;
s->lchild=NULL;
s->rchild=NULL;
insert(t,s);
scanf("%d",&x);
}
}

main( )
{ NODE *root=NULL;
printf("\n 创建一棵二叉排序树!");
creat(&root);
printf("二叉排序树中序序列为:");
midorder(root);
} }
void delete(NODE **t,int x)
{ NODE *f,*p,*r;
p=(*t);
f=NULL;
while (p!=NULL&&p->data!=x)
if (x<p->data)
{ f=p;
p=p->lchild;
}
else
{ f=p;
p=p->rchild;
}
if (p==NULL)
printf("找不到键值为 %d的结点\n",x);
else if (p->lchild==NULL)
{ if (f==NULL)
(*t)=p->rchild;
else if (f->lchild==p)
f->lchild=p->rchild;
else
f->rchild=p->rchild;
}
else
{ r=p->lchild;
while (r->rchild!=NULL)
r=r->rchild;
r->rchild=p->rchild;
if (f==NULL)
(*t)=p->lchild;
else if (f->lchild==p)
f->lchild=p->lchild;
else
f->rchild=p->lchild;
}
free(p)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
凯胜喷绘地址好找么,我有些事要过去
金色童年侯村加盟店地址在哪,我要去那里办事
乐拼被乐高起诉了?
4.8级六角螺母,4.
鄂尔多斯市工商局东胜区分局民生工商所在哪里
骄阳打字复印地址有知道的么?有点事想过去
本地县快递转到市是需要到省市
五十六分之四十二=四分之几
一张完整的豹皮多少钱
花都喷绘雕刻地址好找么,我有些事要过去
请问大智慧里的MACD指数怎么看?
电费出现问题,有几个月太费很少,然后恢复正
多多多海鲜市场十一号档口(刺身档)地址有知道
尼康映像仪器销售(中国)公司沈阳分公司地址有
我觉得我很丑,别人都说我很漂亮是怎么回事?
推荐资讯
冬天冰箱不放东西可以通电吗
机械运动是宇宙中( (填空) 比较物体运动快慢
小鸽子幼稚园(大康路)地址在哪,我要去那里办
对于悬索结构屋盖,下列()说法是不正确的。A.
意兴超市在哪里啊,我有事要去这个地方
朝鲜族冷面店地址在什么地方,想过去办事
奇葩来了里面有首歌,有句歌词是"帅的一比"
合肥哪里搞传销的人最多
永丰县国土资源局沙溪分局怎么去啊,我要去那
请问散文投稿到哪个网站有稿费
一个女生说男生很单纯,太单纯了!这是什么意
建筑用硅酮密封胶的是属于什么类的东西?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?