欢迎来到天天文库
浏览记录
ID:35250111
大小:48.00 KB
页数:6页
时间:2019-03-22
《实验16:哈希查找实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、深圳大学实验报告课程名称:数据结构实验与课程设计实验项目名称:哈希查找实验学院:计算机与软件学院专业:软件工程指导教师:杨芳报告人:薛锡增学号:2013150368班级:3实验时间:2014-12-11实验报告提交时间:2014/12/12教务处制-6-一、实验目的1、掌握哈希查找算法的基本思想2、掌握哈希查找表的构造方法3、掌握链表法解决冲突的方法4、掌握哈希查找的时间性能二、实验要求1、熟悉C++语言编程2、了解哈希查找的原理三、实验内容1、问题描述采用散列表方式,对关键字进行查找。2、查找算法⑴、利用哈希函数(除留余数法,哈希表长为5)及记录的关键字计算出记录的
2、存储地址⑵、直接到指定地址进行查找⑶、如果查找不成功,则采用(表头插入)链地址法,将记录插入到指定地址所在链表的头上。3、输入⑴、第一行:测试次数。⑵、每个样本分2行:第一行:第一个数字n表示样本数目,其后跟n个样本;第二行:查找的关键字的值。4、输出查找是否成功(1—表示成功,0表示不成功),所在位置(从0开始),查找次数。5、输入样本25249574626849176、输出样本142022四、程序清单#include-6- usingnamespacestd; structnode{ intdata; node*next; no
3、de(){next=NULL;}}; constintm=11; intmain(){ nodeh[15]; intn,i,s; node*p; //freopen("cin1.txt","r",stdin); cin>>n; for(i=0;i>s; p=newnode(); p->data=s; p->next=h[s%11].next; h[s%11].next=p; } intt; cin>>t;
4、 while(t--) { cin>>s; intsum=1; p=h[s%11].next; while(p) { if(s==p->data){ cout<next; } if(!p) {
5、 cout<<"error"<data=s; p->next=h[s%11].next; h[s%11].next=p; } } return0;}五、程序运行时截图-6-流程图:对逐个输入的数据进行除11取余,放到数组相应的位置上输入数据后对其除11取余到数组相应的位置上进行查找,找到就输出数组下标、数组上的第几个结点六、实验心得与体会(实验中遇到的问题及解决方案,或写点感想)哈希查找还没交,对概念
6、不是很懂,在处理问题上也出现不少小细节,不过最后还是做出来了。指导教师批阅意见:成绩评定:指导教师签字:年月日-6-备注:注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。-6-
此文档下载收益归作者所有