查找算法的实现的实验报告

查找算法的实现的实验报告

ID:44189866

大小:285.71 KB

页数:10页

时间:2019-10-19

查找算法的实现的实验报告_第1页
查找算法的实现的实验报告_第2页
查找算法的实现的实验报告_第3页
查找算法的实现的实验报告_第4页
查找算法的实现的实验报告_第5页
资源描述:

《查找算法的实现的实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、班级学号姓名实验组别试验日期室温报告日期成绩报告内容:(目的和要求、原理、步骤、数据、计算、小结等)实验名称:查找算法的实现实验目的:1.掌握顺序表上查找的实现及监视哨的作用。2.掌握折半查找所需的条件,折半查找的过程和实现方法。3.掌握二叉顺序树的创建过程,掌握二叉顺序树查找过程的实现。4.掌握哈希表的基木概念,熟悉哈希函数的选择方法,学握使用线性探测法和链地址法进行冲突解决的方法实验环境(硬/软件要求):Windows2000,VisualC++6.0实验内容:通过具体算法程序,进一步加深对各种查找方

2、法的掌握,以及对实际应用中问题解决方法的掌握。各查找算法的输入序列为:265371611159154819.输出要求:查找关字37,给出查找结果。实验要求1•顺序查找首先从键盘输入一个数据序列生成一个顺序表,然后从键盘上任意输入一个值,在顺序表中进行查找。【C语言源程序】#include#defineMAX100typedefintkeytype;typedefstruct{keytypekey;Jelemtype;typedefstruct{elemtypeelem[MAX+l];in

3、tlength;JSStable;voidcreate_seq(SStable*list);intseq_search(SStable*list,keytypek);voidmain()〃主函数{SStable*list,table;keytypekey;inti;list=&table;printf(“请输入顺序表的长度:”);scanf("%d",&list->length);create_seq(list);printff•创建的顺序表内容:”);for(i=0;ilength;i

4、++)printf("list.elem[%d].key=%d'^i+ljist->elem[i].key);printf("输入查找关键字:“);scanf(H%dn,&key);seq_search(list,key);}voidcreate_seq(SStable*list)〃创建顺序表list的函数{inti;printf(“请输入顺序表的内容:“);for(i=0;ilength;i++){printf("list.elem[%d].key=",i+l);scanf(”%d

5、”,&list->elem[i].key);}}intseq_search(SStable*list,keytypek)〃在顺序表中查找给定的k值{inti=O,flag=O;while(ilength){if(list->elem[i].key==k){printf(“查找成功・“);flag=l;printf(,,list.elem[%d].key=%d"/i+l/k);}i++;}if(flag==O)printf("没有找到数据%d!",k);return(flag);}

6、2•折半查找任意输入一组数据作为个数据元索的键值,首先将此序列进行排序,然后在该冇序表上进行折半查找算法进行对给定值key的杏找。【C语言源程序】#include#defineMAX100typedefstruct{intelem[MAX+l];intlength;JStable;voidcreat_seq(Stable*list);intsort_seq(Stable*list);intbin_search(Stable*list,intk’intlowjnthigh);voidmai

7、n(){Stable*list,table;inti,key;list=&table;printff'请输入线性表的长度scanf("%d",&list->length);creat_seq(list);sort_seq(list);printf(“排序后的数据”);for(i=l;i<=list->length;i++)printf("list.elem[%d].key=%d"zijist->elem[i]);printf(H请输入査找的值:“);scanf("%dHz&key);bin_s

8、earch(list,key,l,list->length);}voidcreat_seq(Stable*list){inti;printf(”请输入顺序表的内容:“);for(i=l;i<=list->length;i++){printf("list.elem[%d].key=,,/i);scanf「%d”,&list・>elem[i]);}}intsort_seq(Stable*list)〃冒泡法排序{int"flag

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。