对分查找算法
有一个数在1~100之间,请大家用最少的次数来猜出这个数。你会先猜几?
如果我告诉你这个数是15, 按照刚才的逻辑,几次可以猜到这个数呢?
在刚才的沟通中,其实隐藏着一个非常经典的算法—对分查找
对分查找实施原理
(1)对分查找是效率很高的查找方法, 但被查找的数据必须是有序的。
(2)首先将查找的数与有序数组内处于中间位置的数据比较, 如果中间位置上的数与查找的数不同, 根据有序性,就可确定应该在数组的前半部分还是后半部分继续查找。
(3)在新确定的范围内,继续按上述方法进行查找,直到获得最终结果。
key=48时对分查找处理过程
思考两个问题:
①d(mid)key时, 新查找的范围为下半部分,i和j的变化规律是怎样的?
②如果要找的是52,最后i、 j、 mid分别是多少?
key=17时对分查找处理过程
思考: 当d(mid)key时,新查找的范围在哪里?i和j如何变化?
总结:如果d(mid)key,新查找范围为上半部分,i值不变,j=mid-1。
key=20时对分查找处理过程
总结:
①找到了查找会结束。
②在i=j时重复查找,如果还是找
不到, 查找也会结束。
对分查找的过程
对各种情况进行归纳总结
(1)key与d(mid)的大小比较影响i、j取值的规律:
i的取值规律:如果d(mid)key,那么i=mid+1。
j的取值规律:如果d(mid)k
您可能关注的文档
- 关于标准分解资料.ppt
- 毒作用机制及影响因素4课时资料.pptx
- 读《1984》资料.pptx
- 1物质世界及其发展规律素材.ppt
- 1现代经济学的基本框架和方法素材.ppt
- 关于春节习俗资料.ppt
- 08-第八讲当代中国与世界素材.ppt
- 读懂腾讯广告的秘密资料.pptx
- 1项目管理基础素材.ppt
- 08第八章_教学素材.ppt
- 小学数学六年级下册数学广角抽屉原理教学应用.docx
- 某APP童谣含隐晦成人隐喻致家长投诉的内容审核盲区分析_2026年5月.docx
- 小学语文提问策略在四年级阅读教学中的实施.docx
- 电流树状Lichtenberg图形制作.docx
- 急诊护理健康教育创新.pptx
- 高校学生宿舍太阳能热水系统节能效益与改造研究_2026年3月.docx
- “失眠日记”在学生中的记录行为与干预效果研究_2026年3月.docx
- 性别平等“角色互换”体验对男性大学生共情能力提升实测_2026年1月.docx
- 海洋保护区对生物多样性的保护作用研究_2026年5月.docx
- 人工智能辅助招聘中的算法公平性评测与偏见缓解策略_2026年3月.docx
原创力文档

文档评论(0)