![数据结构实验-二叉检索树_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d5973e63-42a5-48fe-84db-a306aeb72736/d5973e63-42a5-48fe-84db-a306aeb727361.gif)
![数据结构实验-二叉检索树_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d5973e63-42a5-48fe-84db-a306aeb72736/d5973e63-42a5-48fe-84db-a306aeb727362.gif)
![数据结构实验-二叉检索树_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d5973e63-42a5-48fe-84db-a306aeb72736/d5973e63-42a5-48fe-84db-a306aeb727363.gif)
![数据结构实验-二叉检索树_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d5973e63-42a5-48fe-84db-a306aeb72736/d5973e63-42a5-48fe-84db-a306aeb727364.gif)
![数据结构实验-二叉检索树_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/d5973e63-42a5-48fe-84db-a306aeb72736/d5973e63-42a5-48fe-84db-a306aeb727365.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上桂林电子科技大学 数学与计算科学学院实验报告 实验室:06406 实验日期: 年 月 日院(系)信息与计算科学系学号姓名庞文正成绩课程名称数据结构实验实验项目名 称二叉检索树指导教师赵汝文一 ,实验目的(1) 掌握二叉检索树的定义和特征;(2) 掌握二叉检索树的建立方法;(3) 实现基于二叉检索树的查找技术;(4) 掌握二叉检索树的查找性能;二,实验原理二叉树的构成,可从空的二叉树开始,每输入一个结点数据,就建立一个新结点插入到当前已经生成的二叉检索树中,所以它的主要操作是二叉检索树插入运算。在二叉检索树中插入新结点,只要保证插入后仍符合二叉检索树的定义即可。二叉检索
2、树的检索运算实际上同二叉检索树的创建运算是一致的。 区别在于,创建过程要为二叉检索树中没有位置的关键字建立结点。而查找过程中,只是在二叉检索树中查找是否有等于查找关键字值的结点存在。不管有还是没有,它都不会创建一个新的结点。三,实验设备Xp系统电脑一台,VC+6.0软件!四,实验内容与步骤(过程及结果截图)1、 实验内容对给定的一组无序序列,建立一棵二叉检索树,并对建立的二叉检索树实现查找操作。调试程序并对相应的输出作出分析;修改输入数据,预期输出并验证输出的结果。加深对算法的理解。2、步骤#include<stdio.h>#include<malloc.h>#defi
3、ne MAXSIZE 100#define NULL 0typedef int keytype;typedef int elemtype;typedef struct nodekeytype key; /关键字域 elemtype other; /其他数据域 struct node *lchild,*rchild; bilist; /二叉检索树的节点结构 /*void insert(r,s) /将 *s 节点插入到一颗二叉检索树 *r 中 递归算法 bilist *r,*s;bilist *q,*p;if(*r)=NULL) (*r)=s;else if(s->key<(*r)-&
4、gt;key) insert(&(*r)->lchild),s); else insert(&(*r)->rchild),s); */ bilist * insert(t,s) /* 将*s结点插入到一棵二叉检索树*r中*/ bilist *t,*s; bilist *f,*p; p=t; while(p!=NULL) f=p; if(s->key=p->key) return t; if(s->key<p->key) p=p->lchild; else p=p->rchild; if(t=NULL) return s; i
5、f(s->key<f->key) f->lchild=s; else f->rchild=s; return t; bilist *creat(keytype r,int n) /二叉检索树的构造函数算法 int i;bilist *s,*t;t=NULL;for(i=0;i<n;i+)s=(bilist *)malloc(sizeof(bilist);s->key=ri;s->other=NULL;s->lchild=NULL;s->rchild=NULL;/insert(&t,s);t=insert(t,s);return
6、 t; /*int search(bilist *t,keytype k) /二叉检索树算法 递归算法 if(t=NULL) | (t->key=k) return t;else if(t->key<k) return(search(t->rchild,k); else return(search(t->lchild,k); */int search(bilist *t,keytype k) /*二叉检索树检索算法*/ while(t!=NULL) if(t->key=k) return t; if(t->key>k) t=t->lchil
7、d; else t=t->rchild; return NULL; main()keytype AMAXSIZE;int i,data,n=10;bilist *root;for(i=0;i<n;i+)scanf("%d",&Ai);printf("n");root=creat(A,n);printf("please input the search key:");scanf("%d",&data);if(search(root,data)!=NULL) printf("sea
8、rch succed!n"); else printf("search failed!n");2、 预习思考题调试好上述程序后,试着完成以下拓展内容:(1) 把二叉排序树的构造函数的递归算法改写为非递归算法。并在主函数中调用它,调试好程序并分析其运行结果。将insert(&t,s);改为insert(t,s)(2) 把二叉排序树的插入函数的递归算法改写为非递归算法,并在主函数中调用它,调试好程序并分析其运行结果。bilist * insert(t,s) /* 将*s结点插入到一棵二叉检索树*r中*/ bilist *t,*s; bilist *f,*p;
9、p=t; while(p!=NULL) f=p; if(s->key=p->key) return t; if(s->key<p->key) p=p->lchild; else p=p->rchild; if(t=NULL) return s; if(s->key<f->key) f->lchild=s; else f->rchild=s; return t; (3) 把二叉排序树的检索函数的递归算法改写为非递归算法,并在主函数中调用它,调试好程序并分析其运行结果。int search(bilist *t,keytype k) /*二叉检索树检索算法*/ while(t!=NULL) if(t->key=k) return t; if(t->ke
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车维修厂租赁居间协议
- 消费品以旧换新策略在市场中的适应性与优化
- 企业项目合作合同范例
- 空心墩吊围栏施工方案
- 业主停车纠纷合同范例
- 冷暖设备租赁合同范例
- 大车包车合同范例
- 串货合同范例写
- 兄弟合伙做生意合同范例
- 分包混凝土合同范例
- 体育概论(第二版)课件第三章体育目的
- DB11T 1481-2024生产经营单位生产安全事故应急预案评审规范
- 《氓》教学设计 2023-2024学年统编版高中语文选择性必修下册
- 化学元素周期表注音版
- 药物过敏性休克
- T-GDASE 0042-2024 固定式液压升降装置安全技术规范
- 《电力系统自动化运维综合实》课件-2M 同轴电缆制作
- 消防维保服务方案及实施细则
- 保卫管理员培训课件
- 售前工程师工作总结
- 《智能物联网导论》AIoT导论-第3章课件
评论
0/150
提交评论