列表与搜索算法全解析

复习列表基础
掌握检索技术
去重添加算法
顺序查找原理
逆序挑战练习
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秒钟。 逆序代码参考
核心逻辑:
逆序代码参考