课件编号18778579

少儿趣味编程Scratch算法挑战《二分查找法》(教案+源文件)

日期:2024-05-12 科目:综合实践 类型:小学素材 查看:62次 大小:432341Byte 来源:二一课件通
预览图 1/2
少儿,趣味,编程,Scratch,算法,挑战
  • cover
算法挑战:二分查找法 ( 今日任务: ) 今日我们来利用 scratch 进行一次二分查找算法的探究。所谓二分查找法,就是这样一 种查找思路,但是, 它的使用有一定的局限性,被查找的数列必须是有序数列。它的原理其 实很简单,可以这样描述:将所查找的数字和有序数列中间的数字进行比较,如果所查找数字大 于有序数列的中间位置数字, 那么就在有序数列的后半部分继续进行折半查找, 如果所查找数字小于 有序数列的中间位置数字,那么就在有序数列的前半部分继续进行折半查找, 以此往复,直到找到所 查找数字或者找完链表发现所查找数字不在数列中为止。 我们简单用图形来解释一下这个二分法是如何运行的: 有这样一个有序序列,数列中数字全部按照升序排列: 我们要在该数列中查找数字 11,我们来看看程序是怎样运行的! Left=1 Mid=11 Right=20 1,3,5,7,11,33,37,42,56,79,88,102,113,117,128,142,155,161,177,208 Mid=(left+right)/2 四舍五入取整 ( 11 ≠ list ( 11 )且 11list ( 3 ) , 继续在 前后半部分查 ) ( Mid=5 ) ( 没有找到 n ) ( N ) ( Mid= ( right+left ) /2 四舍五 入取整 ) ( Y ) ( right=mid-1 ) ( Right ≥ left Y n=list(mid) left=mid+1 N N n

~~ 您好,已阅读到文档的结尾了 ~~