- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
思想:先确定待查找记录所在的范围,然后逐步缩小范围,直到找到或确认找不到该记录为止。 前提:必须在有序表中进行。 分三大步骤: (1)确定范围low,high (2)确定中间位置:mid=(high+low)/2 (3)比较a[mid]与 key的关系 分三种情况: 1)若中间项的值等于k,则说明已查到,返回mid 2)若k小于中间项的值,则在线性表的前半部分查找;high=mid-1 3)若k大于中间项的值,则在线性表的后半部分查找;low=mid+1 二分查找 对分查找算法 mid=(low+high)/2不进位取整 low:下界 high :上界 k=r(mid) : 查找成功,返回mid kr(mid) : high=mid-1 继续 k r(mid) : low=mid+1 继续 lowhigh: 查找不成功 二分查找 例 [ 8 17 25 44 68 77 98 100 115 125 ] 查找 k=17 1 2 3 4 5 6 7 8 9 10 mid=(1+10)/2=5 mid=(1+4)/2=2 low high mid mid=(low+high)/2不进位取整 [ 8 17 25 44] 68 77 98 100 115 125 low high=mid-1 mid 查找成功! 二分查找 例 [ 8 17 25 44 68 77 98 100 115 125 ] 查找k=120 1 2 3 4 5 6 7 8 9 10 low high mid mid=(1+10)/2=5 8 17 25 44 68 [ 77 98 100 115 125 ] high low mid mid=(6+10)/2=8 8 17 25 44 68 77 98 100 [ 115 125 ] high low mid mid=(9+10)/2=9 8 17 25 44 68 77 98 100 115 [ 125 ] high low mid mid=(10+10)/2=10 8 17 25 44 68 77 98 100 115 125 high low mid 因为125120 所以high= mid -1 highlow 查找失败 查找失败! int find_bin(int a[],int n,int key) { int low=0,high=n-1,mid; while(low=high) { mid=(low+high)/2; if(key==a[mid]) return mid; if(keya[mid]) high=mid-1; else low=mid+1; } return -1; } 函数入口参数 找到时返回下标位置 找不到时 返回-1 二分查找算法 这一章我们学习了 数组数据类型 在什么情况下使用数组这种数据类型 向函数传递一维数组和二维数组的方法 用数组名作为函数参数 数组名的特殊意义 和用简单变量作为函数参数的不同之处 常用算法 求最大值,排序,查找,数据的排列和组合算法 作业 上机实现 插入排序 选择排序 冒泡排序 上机实现 顺序查找 二分查找 由于C语言中数组的下标从“0”开始,若V是一个Sqlist类型的顺序表,则顺序表中第i个数据元素对应为V.Elem[i-1]。插入算法可描述为: * * 第4章 数组 (2) 排序算法 查找算法 查找算法 定义:给定一个值K,在含有n个记录的文件(数据结构)中进行搜索,寻找一个关键字值等于K的记录,如找到则输出该记录;否则输出查找不成功信息。 顺序查找(适用于无序数据和有序数据) 二分查找 (适用于有序数据) 顺序查找算法(判断K 是否与某个数相同) 从表的一端开始顺序扫描线性表,依次将扫描到的结点关键字与给定值K比较,若当前扫描到的结点关键字与k相等则查找成功;否则继续扫描。若扫描结束后,仍未找到关键字等于K的结点,则查找失败。
您可能关注的文档
- 《计算机应用基础》完整教案精要.doc
- 《季氏将伐颛臾》精华总结精要.ppt
- 《假如生活欺骗了你》精要.ppt
- 《建筑工程抗震性态设计设计通则》(谢礼立)精要.ppt
- 《降低化学反应活化能的酶》课件精要.ppt
- 《教师参考》鲁科版(高中化学)必修1:2.1.1元素与物质的关系物质的分类同课异构课件1精要.ppt
- 《金版学案》2016届高考物理一轮复习课件第三章力与运动第4课实验:验证牛顿运动定律精要.ppt
- 《金匮要略》精要.ppt
- 《金色的草地》教案精要.pptx
- 《金属压铸工艺与模具设计》第11章:推出机构设计精要.ppt
- 【2014最新】新目标英语八年级下Unit2SectionA-1课件精要.ppt
- 【2015中考复习方案】(冀教版·河北)2015届九年级英语复习课件:语法互动一_名词(共19张)精要.ppt
- 【QZZN政法干警攻略】2007年度国家司法考试之《民法》真题试卷精要.doc
- 【案例】——管理学案例分析题15例精要.doc
- 【步步高】2016版高考政治(全国通用)考前三个月课件:第一部分第一部分专题18认识社会与价值选择精要.ppt
- 【测控设计】2015-2016学年高一化学苏教版必修1课件:3.1.2铝及铝合金精要.ppt
- 【测控设计】2015-2016学年高中物理第一章第五节电势差课件新人教版选修3-1精要.ppt
- 【成才之路】2014-2015高中数学人教A版选修2-3配套课件:1.2.2第3课时排列与组合习题课[来源精要.ppt
- 【成才之路】2016年春高中物理人教选修3-1习题第2章综合能力测试Word版含答案精要.doc
- 【创新设计】(福建专用)2014届高考地理一轮复习_第一部分_自然地理_第二章_地球上的大气_第2讲精要.ppt
最近下载
- 2024大学生人文知识竞赛题库及参考答案.docx VIP
- 2025三年级上册道德与法治 第5课《走近科学家》(第二课时)教学课件.pptx
- 四年级上册道德与法治课件第四课时与家务活“签约”人教部编版.ppt VIP
- 第三次全国土壤普查耕地质量等级评价技术规范.pdf VIP
- UVmini-1240使用指南 岛津紫外可见光分光光度计.pdf VIP
- 【2024】人教鄂教版科学六年级上册每课教学反思(带目录) .pdf VIP
- 教学-高中物必修一、二、三基本知识背记检查清单大傻B.ppt VIP
- 2025年新能源太阳能光伏产业发展白皮书.docx VIP
- 设备管理成熟度(星级)评价准则.pdf VIP
- GB50231-2009 机械设备安装工程施工及验收通用规范.docx VIP
文档评论(0)