收藏 分享(赏)

二分查找及其算法实现.ppt

上传人:精品资料 文档编号:9195131 上传时间:2019-07-29 格式:PPT 页数:12 大小:271KB
下载 相关 举报
二分查找及其算法实现.ppt_第1页
第1页 / 共12页
二分查找及其算法实现.ppt_第2页
第2页 / 共12页
二分查找及其算法实现.ppt_第3页
第3页 / 共12页
二分查找及其算法实现.ppt_第4页
第4页 / 共12页
二分查找及其算法实现.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、二分查找及其算法实现,江苏省扬中中等专业学校 陈廷栋,活动一:问题引入(目标引入问题),猜数游戏,请一同学在黑板上写一整数(在150内)。,活动二:探究学习(目标扩展问题),以规模为6的数组d为例:用一个数组d6来存放序列, left(l) 表示查找范围的第一个数组元素的下标, right(r) 表示最后一个数组元素的下标, mid(m) 表示中间位置元素的下标。,(1) 第一种情况:要找的值在后半部分; 以查找键x=9为例分析 第一次查找: 范围d0d5,m= (0+5)/2, dmx 所以可以确定接下来要找的范围是后半部分。 比较后l=m+1,第二次查找: 范围d3d5,m= (3+5)/

2、2,dmx,找到了,总结一: 如果dmx ,新查找的范围为后半部分, r值不变,l=m+1,l,m,(2)第二种情况:要找的值在前半部分;以查找键x=1为例分析:,第一次查找:d0d5,m= (0+5)/2, dmx 所以可以确定接下来要找的范围是前部分。 比较后r=m-1,第二次查找: 范围d0d1,mid= (0+1)/2 , dmx,找到了,总结二: 如果dmx ,新查找范围为前半部分, l值不变,r=m-1。,r,(3)第三种情况:要找的值找不到;以查找键x=12为例分析:,总结三: (1)找到了查找会结束; (2)在l=r时重复查找,如果还是找不到,查找也会结束。,l,m,活动三:讨

3、论学习(目标解决问题),总结查找原理(假设数组按升序排列)二分查找首先找到中间的元素, 该元素对应的值小于查找关键字,此时应在 部分继续查找; 该元素对应的值大于查找关键字,此时应在 部分继续查找; 该元素对应的值等于查找关键字,那么 。如果出现前两种情况,则继续在前半部分或后半部分内进行二分查找,直到出现第三种情况为止。如果沿指定方向测试完所有记录时仍未出现第三种情况,则表示 。,后半,前半,找到查找目标,查找结束,未找到查找目标,查找也结束,特点:如果查找范围内的元素已经排好序,用二分 查找方法进行查找要比用顺序查找方法 。,快得多,程序实现:有一个数组有六个元素,已按升序排列,今输入一个

4、数x,要求查找是否为其中的数。对各种情况输出相应的信息。请用二分查找法编写程序。,main( ) int x, l=0, r=5, m, f=0;int a6=1,3,5,7,9,11; printf(“请输入一个数x:”); scanf(“%d”,while (f=0 ,活动四:课堂检测(目标检验学习效果),有一个数组有十个元素,已按降序排列(数组元素的值通过赋初值给定),今输入一个数x,要求查找是否为其中的数。对各种情况输出相应的信息。请用二分查找法编写程序。,课后作业:,已知两集合A=6,12,18,42,44,52,67,94,B=12,6,94,编程判断集合B是否为A的子集(提示:若B中的数在A中均存在,则称B是A的子集)。要求用二分查找法实现。,

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

当前位置:首页 > 企业管理 > 管理学资料

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


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

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

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