Scratch查找算法——顺序查找

这节课我们来学习顺序查找,教大家用Scratch来实现这样一个程序:查找某个数是否属于斐波那契数列中,若属于,要求说出查找次数和所在的位置。

顺序查找定义:

在一个已知数列(有序或无序)中找出与给定关键字相同的数.

算法流程:

让关键字与数列中的数从第一个开始逐个比较,直到找出与给定关键字相同的数为止。

第一步, 生成斐波那契数列

file

注意:这里我们为避免数列中出现重复数,我们生成的斐波那契数列中不包括前面的0和第一个1.

第二步, 构造顺序查找函数并调用

首先输入要查找的数字,然后建立一个循环从斐波那契数列中的第一个数开始,依次往下遍历斐波那契数列,直到查找成功!接着说出查找次数和所处位置。

如果全部遍历完斐波那契数列后,还没有查找到输入的数字,则查找失败!

file

调用顺序查找函数:将seqsearch嵌入到生成斐波那契数列的代码后面。

说明:变量count是用来记录所查找的次数,变量i是当前查找数在链表中的位置。

通过利用顺序查找算法,我们同样可以实现

  • 电话簿里查找电话号码
  • 在学校学生记录中查找某学号寻找对应同学信息
  • 火车站检票时查找身份证号码以验证某人是否是犯罪分子
黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代