锅说少儿编程
算法专题:列表与搜索
列表与搜索算法全解析
复习列表基础
掌握检索技术
去重添加算法
顺序查找原理
逆序挑战练习
TASK 01
任务一:复习列表基础知识
01
列表和变量有什么区别?
点击查看解析
变量:
像一个单人位,每次只能存一个数据,存入新数据会把旧的挤掉。
列表:
像一排长椅,可以同时坐很多人(存储多个数据),且每个人都有自己的位置(编号)。
02
下标、元素与项的概念
点击查看图解
•
下标:
列表中的位置编号,Scratch 中从 1 开始。
•
项/元素:
对应编号中存放的具体数据。
TASK 02
任务二:列表检索应用
01
什么是“检索列表”?
指程序按照一定顺序(通常是 1 到 长度),依次读取并处理列表中每一项内容的过程,也叫“遍历”。
02
实战编程练习
在列表中随机生成 10 个数字。让角色从第 1 项开始,依次说出每一项的内容,间隔 1 秒。
查看代码参考
TASK 03
任务三:添加不重复元素算法
01
如何防止数据重复?
核心判断:
在执行“加入列表”前,先用
列表包含 [数据] 吗?
积木进行判断。只有当结果为
假
时才允许添加。
02
编程挑战
在列表内中添加10项元素,都是1-100之间的随机整数。并且列表内没有重复的元素。 【提示:生成随机数后,先检查看在列表内是否存在。 如果不存在,就加入列表中;如果存在,就重新生成随机数;注意列表内有10项元素。】
参考答案
TASK 04
任务四:顺序查找算法详解
算法原理:
顺序查找(Sequential Search)是从列表开头挨个向后比对。找到目标即返回位置并停止;若找完整个列表仍未匹配,则查找失败。
顺序查找是一种最常用、简单的查找算法。 顺序查找的基本思想是:按照顺序从前往后(或从后往前)依次查找列表中的元素,如果找到目标元素,则查找成功。否则就一直查找下去,到最后还没有找到目标元素,则查找失败。
顺序查找不要求数据是有序排列的。
练习题
参考答案
TASK 05
任务五:逆序检索挑战练习
Challenge
逆向思维练习
在列表内中添加10项元素,都是1-20之间的随机整数。 让小猫从最后一项开始,从后往前依次说出每一项元素,每次说1秒钟。
查看挑战方案
核心逻辑: