收藏 分享(赏)

山东省日照青山学校教科版高中信息技术选修一课件:二分查找算法及程序实现 .ppt

上传人:weiwoduzun 文档编号:1922456 上传时间:2018-08-29 格式:PPT 页数:23 大小:2.73MB
下载 相关 举报
山东省日照青山学校教科版高中信息技术选修一课件:二分查找算法及程序实现 .ppt_第1页
第1页 / 共23页
山东省日照青山学校教科版高中信息技术选修一课件:二分查找算法及程序实现 .ppt_第2页
第2页 / 共23页
山东省日照青山学校教科版高中信息技术选修一课件:二分查找算法及程序实现 .ppt_第3页
第3页 / 共23页
山东省日照青山学校教科版高中信息技术选修一课件:二分查找算法及程序实现 .ppt_第4页
第4页 / 共23页
山东省日照青山学校教科版高中信息技术选修一课件:二分查找算法及程序实现 .ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、-猜商品价格,¥5288,参考价:50006000元,二分查找算法及程序实现,二分查找的原理和方法,(1)二分查找是效率很高的查找方法,但被查找的数据必须是有序的。,(2)首先将查找的数与有序数组内处于中间位置的数据比较,如果中间位置上的数与查找的数不同,根据有序性,就可确定应该在数组的前半部分还是后半部分继续查找。,(3)在新确定的范围内,继续按上述方法进行查找,直到获得最终结果。,以规模为16的升序数组d为例:用一个数组d(1 to 16)来存放序列。,以规模为16的升序数组d为例:用一个数组d(1 to 16)来存放序列。,用i表示查找范围的第一个数组元素的下标,j表示最后一个数组元素的

2、下标,m 表示中间位置元素的下标。,(1)第一种情况:要找的值在后半部分,以查找键Key=85为例,第一次查找:范围d(1)d(16),(1)第一种情况:要找的值在后半部分,以查找键Key=85为例,第一次查找:范围d(1)d(16),比较后i=m+1,d(m)Key所以可以确定接下来要找的范围是后半部分。,第二次查找:范围d(9)d(16),第二次查找:范围d(9)d(16),比较后:i=m+1,d(m)Key 所以可以确定接下来要找的范围是后半部分。,第三次比较:范围d(13)d(16),第三次比较:范围d(13)d(16),d(m)=Key ,找到了。,思考:如果要找的是98 , i,j

3、,m分别是多少?,总结一: 如果d(m)key ,新查找的范围为下半部分, j值不变,i=m+1,讨论:两人为一合作小组,讨论一下key=15和key=51的查找示意图,并用共同的智慧讨论并回答以下两个问题。,问题1:当d(m)key时,新查找的范围在哪里?i和j如何变化?,问题2:在什么情况下查找会结束?继续进行重复查找的条件是什么?,(2)第二种情况:要找的值在前半部分;,以查找键Key=15为例,(2)第二种情况:要找的值在前半部分;,以查找键Key=15为例,(2)第二种情况:要找的值在前半部分;,以查找键Key=15为例,(2)第二种情况:要找的值在前半部分;,以查找键Key=15为例,总结二:如果d(m)key ,新查找范围为上半部分, i值不变,j=m-1。,第三种情况:要找的值找不到;,以查找键Key=51为例,第三种情况:要找的值找不到;,以查找键Key=51为例,第三种情况:要找的值找不到;,以查找键Key=51为例,第三种情况:要找的值找不到;,以查找键Key=51为例,第三种情况:要找的值找不到;,以查找键Key=51为例,总结三:(1)找到了查找会结束; (2)在i=j时重复查找,如果还是找不到,查找也会结束。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报