ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:92.72KB ,
资源ID:22742891      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22742891.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验五查找算法的设计Word文档格式.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验五查找算法的设计Word文档格式.docx

1、建立c1.h放程序名;#includectype.hmalloc.hlimits.hstdio.hstdlib.hio.hmath.hprocess.hiostream.h/状态代码#define TURE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1typedef int Status;typedef int Boolean;建立文件c9-1.h放静态查找表的顺序存储结构/c9-1.h typedef structElemType *elem; int length; SSTable;建立文件c9.h放对两个

2、数值型关键字的比较约定为如下宏定义/c9.h#define EQ(a,b)(a)=(b)#define LT(a,b)(a)(b)#define LQ(a,b)(a)=(b)建立文件bo9-1.cpp放静态查找表的基本操作Status Creat_Seq(SSTable &ST,int n)int i;ST.elem=(ElemType*)calloc(n+1,sizeof(ElemType);if(!ST.elem) return ERROR;for(i=1;i=n;i+)*(ST.elem+i)=ri-1;ST.length=n;return OK;void Ascend(SSTable

3、&ST)int i,j,k;ST.length;k=i;ST.elem0=ST.elemi;for(j=i+1;j=ST.length;j+)if LT(ST.elemj.key,ST.elem0.key)k=j;ST.elem0=ST.elemj;if(k!=i) ST.elemk=ST.elemi; ST.elemi=ST.elem0;Status Creat_Ord(SSTable &Status f;f=Creat_Seq(ST,n);if(f)Ascend(ST);return f;Status Destroy(SSTable & free(ST.elem); ST.elem=NUL

4、L; ST.length=0; return OK;int Search_Seq(SSTable ST,KeyType key)ST.elem0.key=key;for(i=ST.leng;!EQ(ST.elemi.key,key);-i) return i;int Search_Bin(SSTable ST,KeyType key)int low,high,mid; low=1; high=ST.length; while(lowlchild) DestroyDSTable(DT-lchild);rchild)rchild); free(DT);BiTree SearchBST(BiTree

5、 T,KeyType key) if(!T)|EQ(key,T-data.key) return T; else if LT(key,T- return SearchBST(T-lchild,key);rchild,key);void SearchBST(BiTree &T,KeyType key,BiTree f,BiTree &p,Status &flag)T) p=f; flag=FALSE; else if EQ(key,T- p=T; flag=TRUE; SearchBST(T-lchild,key,T,p,flag);rchild,key,T,p,flag);Status Ins

6、ertBST(BiTree &T,ElemType e) BiTree p,s; Status flag; SearchBST(T,e.key,NULL,p,flag); s=(BiTree)malloc(sizeof(BiTNode); s-data=e;lchild=s-rchild=NULL;p) T=s; else if LT(e.key,p- p-lchild=s;rchild=s; return TRUE; return FALSE;void Delete(BiTree & BiTree q,s;p- q=p; p=p-lchild; free(q); else if(!rchil

7、d; s=p- while(s- q=s; s=s-data=s-data; if(q!=p) q-rchild=s- free(s);Status DeleteBST(BiTree &T,KeyType key)/若二叉排序树T中存在关键字等于key的数据元素时,则删除该数据元素结点, /并返回TRUE;否则返回FALSE。算法9.7T)/不存在关键字等于key的数据元素 return FALSE; if EQ(key,T-data.key)/找到关键字等于key的数据元素 Delete(T); else if LT(key,T- DeleteBST(T- else return TRUE;

8、void TraverseDSTable(BiTree DT,void(*Visit)(ElemType)/初始条件:动态查找表DT存在,Visit是对结点操作的应用函数 /操作结果:按关键字的顺序对DT的每一个结点调用函数Visit()一且至多一次 TraverseDSTable(DT-lchild,Visit); Visit(DT-data);rchild,Visit);建立algo9-4.cpp检验bo9-2.cpp的程序/alog9-4.cpp的程序#define N 10 int others;bo9-2.cpp(%d,%d) BiTree dt,p; int i; KeyType

9、j; ElemType rN=45,1,12,2,53,3,3,4,37,5,24,6,100,7,61,8,90,9,78,10; InitDSTable(dt); InsertBSTable(dt,ri); TraverseDSTable(dt,print);请输入待查找的值: scanf(j); p=SearchBST(dt,j); if(p) printf(表中存在此值: DeleteBST(dt,j);删除此值后:TraverseDSTable(dt,print);表中不存在此值n DestroyDSTable(dt);4、实验结果:1、顺序表查找2、有序表查找3、二叉查找树5、实验心得通过本次试验,让我对课堂所学的知识进行了巩固和提高,对顺序表、有序表和二叉树等知识进行了进一步的学习,并学会了设计查找算法。尽管这个程序很长,但进过我们小组同学的认真思考、讨论,以及分工合作,终于完成了实验,也让我们意识到,平时的学习不光要学会书本上的知识,还应以实践为主,只有付诸实践才能体现出程序设计的重要性。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1