资源简介 算法挑战:选择排序法(今日任务:)今日我们来利用 scratch 进行选择排序(Selection sort)法的探究,什么是选择排序法呢? 选择排序算法的运作如下:(从前往后)选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大) 的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。排序算法即解决以下问题的算法:输入n 个数的序列。输出原序列的一个重排;,使得 a1*<=a2*<=a3*<=...<=an*我们通过一个简单的小实例来看演示一下用来加深印象:原始数列 第一次 第二次 第三次 第四次 第五次 第六次 第七次经过第七次选择排序,每次都将未排序数列中的最小数字置顶;第一次排序:1 被选择出来置于未排序数列的顶部;第二次排序:2 和 6 调换位置, 被选择出来置于未排序数列的顶部;(第三次排序:3和6调换位置,被选择出来置于未排序数列的顶部;第四次排序:4和7调换位置,被选择出来置于未排序数列的顶部;)第五次排序:5 已经是未排序数列中的最小值,不需要和未排序数列中其他数字调换位置;第六次排序:6 和 7 调换位置, 被选择出来置于未排序数列的顶部;第七次排序:7 和 8 调换位置, 被选择出来置于未排序数列的顶部;至此选择排序结束,我们可以看到,选择排序比冒泡排序更加优化,更加高效(本课重难点:)(1)了解选择排序法的核心思想。(2)能够通过 scratch 编程实现对一个随机数列的选择排序。(任务解读flowchart:)(跟我来挑战Followme:)第一步:启动 scratch 软件;第二步: 点击上方的“文件”→ “保存”→保存到桌面,文件名: 选择排序 →点击“保存”;(第二步很很很重要,我希望所有的学生都能养成及时保存作品的好习惯!)第三步: 程序解读(见下页)主程序:创建随机无序数列 list 子程序:选择排序子程序:程序运行结果:输入数字 30生成一个长度为 30 的随机数列,你可以检查一下, 里面有没有重复数字?回答数字“y ”排序结果:(课后思考:)(1) 试将我的程序进行算法优化,看看能不能在我的程序基础上进一步优化一下?(2) 试想一下, 选择排序都有哪些应用呢?什么领域或者是程序设计需要用到选择排序? 试着在网上搜索一下,顺便搜索一下更加高级的排序算法! 展开更多...... 收起↑ 资源预览