首页
学习
活动
专区
圈层
工具
发布

《野牛程序员讲少儿编程算法》系列,带娃走进一个聪明得不像话的查找方法——二分查找!

《野牛程序员讲少儿编程算法》系列,带娃走进一个聪明得不像话的查找方法——二分查找!

今天继续《野牛程序员讲少儿编程算法》系列,带娃走进一个聪明得不像话的查找方法——二分查找

二分查找是啥?

想象一下,一本词典有上千页,现在要找“熊猫”这两个字。

普通查找:

从第一页一个个翻,翻到眼睛掉出来还没找到……

二分查找:

🦅 直接翻到中间——一看,“老虎”?比“熊猫”早,那就只查前半本;

再翻中间——“猫”?还在前面,再往前翻!

几下就搞定!

这就是二分查找法:每次都把查找范围砍一半!

🧠 二分查找的“数学脑筋”思路:

适用于有序数组

思路如下:

找到中间的元素mid

如果目标比它小,就在左边找

如果目标比它大,就在右边找

如果正好相等?恭喜,找到了!

举个例子:

在数组[2, 5, 8, 12, 16, 23, 38, 56]中查找数字23

中间是 12(位置3),23 > 12

往右边找

右边是[16, 23, 38, 56],中间是 23

找到了!

只查了两次,比一个个查快得多得多得多!

C++ 代码(让孩子也能看懂的版本):

🤹‍ 为什么它很牛?

查找效率高,时间复杂度是 O(log n),比挨个找快多了

数越多,优势越明显

培养孩子的“折半思维”和“区间收缩”逻辑概念

小课堂互动:

:老师老师,数组不是乱的吗?

🧑‍:注意!二分查找只能用在有序数组上哟!

:那找不到咋办?

🧑‍:返回-1,说明数组里没这个数~

🧠 小挑战题:

数组[1, 3, 5, 7, 9, 11]中查找数字 7,

每一次中间元素是多少?都往哪边找?

在纸上画出查找过程!

野牛程序员教少儿编程与信息学奥赛

宜宾市野牛网络科技有限公司专业微信小程序开发、网站建设、软件开发等

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ObqQ9eqKD9TdcyNN28rSf_Ww0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券