下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
陕西科技大学实验报告 第页班级物联网121学号201206100128姓名张奇实验组别实验日期2014年6月13日室温报告日期2014年6月13日成绩报告内容:(目的和要求、原理、步骤、数据、计算、小结等)实验名称:查找算法及其应用一、实验目的1、掌握查找折半查找、顺序查算法的概念。2、熟练运用C语言实现折半查找、顺序查算法的基本操作。3、在掌握查找算法基本操作的基础上,能够用查找算法解决简单问题。二、实验环境MicrosoftVisualC++6.0三、实验要求编写程序测试这折半查找、顺序查算法。四、实验原理1、折半查找又称二分查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。算法要求必须采用顺序存储结构以及必须按关键字大小有序排列。2、顺序查找过程:从表中的最后一个记录开始,逐个进行记录的关键字与给定值进行比较,若某个记录的关键字与给定值相等,则查找成功,找到所查的记录;反之,若直到第一个记录,其关键字和给定值比较都不相等,则表明表中没有所查的记录,查找失败。五、实验方案具体参照下页流程图。附页六、实验代码#include"stdio.h"typedefintKeyType; //定义关键字类型typedefstruct{ //定义数据元素类型KeyTypekey;}DataType;#defineLISTSIZE100 //定义静态查找表类型typedefstruct{DataTypeitems[LISTSIZE];intlength;}SqList;/*顺序查找算法*/intSeqSearch(SqListL,DataTypeX) //L为静态查找表,X为待查找元素{ inti=L.length; L.items[i].key=X.key; //设置监视哨 while(L.items[i].key!=X.key)i--; returni;}/*折半查找算法*/intBinarySearch(SqListL,DataTypeX) //L为静态查找表,X为待查找元素{ intlow=0,upper=L.length-1,mid; while(low<=upper) { mid=(low+upper)/2; if(L.items[mid].key==X.key)returnmid; //查找成功 if(L.items[mid].key<X.key)low=mid+1; //在后半子区间查找 elseupper=mid-1; //在前半子区间查找 } return-1; //查找失败}intmain(){ inti,pos; SqListl; DataTypex; printf("\n请输入顺序表的长度:"); scanf("%d",&l.length); printf("\n请输入顺序表中的元素:\n"); for(i=0;i<l.length;i++) scanf("%d",&l.items[i].key); printf("\n请输入要查找的数:"); scanf("%d",&x.key); pos=SeqSearch(l,x); printf("\n该数据在顺序表中的位置为:%d\n\n",pos-1); return0;}七、实验结果八、实验小结本次实验掌握查了找折半查找、顺序查算法的概念,运用C语言实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子玻璃制品镀膜工岗前安全操作考核试卷含答案
- 木门窗工安全行为竞赛考核试卷含答案
- 活性炭活化工操作能力模拟考核试卷含答案
- 电声器件制造工冲突解决考核试卷含答案
- 溶剂油装置操作工安全知识宣贯知识考核试卷含答案
- 氯氢处理工操作规程能力考核试卷含答案
- 井矿盐制盐工安全宣传水平考核试卷含答案
- 松节油制品工岗前决策判断考核试卷含答案
- 选矿脱水工岗前安全技能测试考核试卷含答案
- 淡水水生植物繁育工安全演练考核试卷含答案
- 炎德·英才·名校联考联合体2026届高三年级1月联考语文试卷(含答及解析)
- 麦当劳行业背景分析报告
- 中国心理行业分析报告
- 2025至2030中国生物芯片(微阵列和和微流控)行业运营态势与投资前景调查研究报告
- 结核性支气管狭窄的诊治及护理
- 2025年铁岭卫生职业学院单招职业适应性考试模拟测试卷附答案
- 急腹症的识别与护理
- 净菜加工工艺流程与质量控制要点
- 2025年新能源电力系统仿真技术及应用研究报告
- 大型商业综合体消防安全应急预案
- 《砂浆、混凝土用低碳剂》
评论
0/150
提交评论