内容正文:
第1单元 常用的经典算法
排序算法
第2节
鲁教版·五年级
学习目标
01
课堂导入
02
新知探究
03
知识总结
04
智慧挑战
05
目录
CONTENTS
2
了解排序算法在生活和计算机领域的广泛应用,认识到排序的重要性,建立算法解决问题的意识。
学习目标
理解选择排序、冒泡排序、快速排序的基本原理和实现过程,培养逻辑思维和问题解决能力。
能够使用图形化编程工具实现简单的排序算法,体验算法设计的乐趣,提升数字化工具应用能力。
课堂导入
智力运动会挑战任务
有10个大小相似但质量不同的苹果,参赛者可借助一架天平,将它们按照质量由小到大的顺序排列。用时最少且方法最优者获胜。
思考时刻:你会怎么做?
分组讨论:请在3分钟内设计出你的排序方案
PART 1
1.选择排序
新知探究
什么是排序算法?
一种能将一串数据依照特定顺序进行排列的基本算法,是数据处理的基础。
核心应用场景
广泛应用于数据检索、数据分析预处理及数据库优化等领域,提升信息处理效率。
本课重点学习
我们将深入探究三种经典算法:选择排序、冒泡排序、快速排序。
新知探究
核心思想
每次从未排序的部分中选择最小(或最大)的元素,放到已排序部分的末尾,逐步构建有序序列。
生活类比
就像在一堆苹果里挑选,每次都精准挑出最轻(或最重)的那个,依次放到最前面,最终实现有序排列。
关键点:每一轮只做一次交换,确定一个元素的最终位置
小组探究
核心目标:定位最小值
从10个苹果中找到质量最轻的一个,并将其移动到第一位。
操作步骤:逐个比较
1. 比较第1个与第2个苹果,轻的前置
2. 用当前最轻的依次与后续苹果比较,直至找到最轻
初始状态:10个苹果按任意顺序排列
目标:通过比较,将最轻的苹果“选择”到位置0
1 2 3 4 5 6 7 8 9 10
重量
编号
请同学们通过小组探究的方式,完成下面的任务
新知探究
第一轮,找出10个苹果中质量最轻的。
第1步,使用天平比较0号和1号位置的苹果。如果0号位置的苹果重,则交换两个苹果的位置,否则不交换。
新知探究
第2步,用第1步比较出质量轻的苹果分别与2-9号苹果进行比较,如果重就交换,轻则不交换,即可找出质量最轻的苹果,并把它放到首位。思考总共比较了()次。
新知探究
第二轮,找出10个苹果中第二轻的。
第1步,用1号位置的苹果,重复第一轮的步骤,选出第二轻的苹果。
思考总共比较了()次。
第2步,将第二轻的苹果放置1号位置。
新知探究
3. 将剩余的苹果按照前面的方法全部排好序,总共比较了()次。
你是怎样计算的?
4. 根据10只苹果的质量,思考如何补全程序,完成10个苹果的选择排序程序。
新知探究
选择排序简单直观,占用计算机资源较少,适用于小数据量的排序任务。
它为需要简单实现和调试的场景提供了便利。
PART 2
2.冒泡排序
新知探究
核心思想解析
冒泡排序的核心是:重复走访数列,一次比较两个相邻元素,若顺序错误则交换。
这个过程如同气泡上浮,每一轮遍历后,当前未排序部分中最大的元素会逐渐“冒泡”到数列的末尾,最终实现整体有序。
口诀记忆:两两相比小靠前,层层筛选大沉淀
新知探究
第一轮,我们从第一个苹果开始,依次比较相邻的两个苹果。
如果前一个比后一个重,就交换它们的位置。
这样一轮下来,最重的苹果就会被“冒泡”到最后一个位置。
新知探究
第二轮,我们重复第一轮的操作,但只需要比较前9个苹果。
通过相邻比较与交换,将第二重的苹果“冒泡”到倒数第二个位置。
▲ 初始状态:10个待排序的苹果,第二轮将锁定索引 9 为已排序区
核心思想:每一轮排序都会确定一个最大元素的最终位置,下一轮比较范围减一。
新知探究
通过对比选择排序和冒泡排序的执行次数,我们可以看出,这两种算法都需要进行大量的数据比较,因此,它们的执行效率相对较低。
PART 3
3.快速排序
新知探究
核心思想:分而治之 (Divide & Conquer)
通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分继续排序,直至整个序列有序。
关键步骤解析
1.选择基准 (Pivot):通常选取第一个或最后一个元素。
2.分区 (Partition):将小于基准的数放左边,大于的放右边。
3.递归 (Recursion):分别对左右子数组重复上述操作。
新知探究
1.选基准:随机挑选一个苹果作为“基准点”。
2.比大小:其余苹果与基准比较,轻的放左,重的放右。
3.定位置:基准苹果归位,完成第一轮分组。
新知探究
对左边的轻苹果堆和右边的重苹果堆分别重复第一步的操作:选基准、分堆。
这个过程叫做“递归”,直到每一堆都只剩下一个苹果为止。
步骤一:分堆
轻苹果 / 重苹果
步骤二:递归
重复操作直到有序
步骤三:完成
每堆只剩一个苹果
新知探究
快速排序通过一趟扫描将要排序的数据分割成独立的两部分,其中一部分的所有数据比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序
新知探究
三种算法比较
选择排序
核心思想:选择最小/最大元素
效率:较低
适用场景:数据量小,追求简单实现
冒泡排序
核心思想:相邻交换,大元素上浮
效率:较低
适用场景:数据量小,教学演示理解
快速排序
核心思想:分而治之,递归排序
效率:较高
适用场景:数据量大,追求高性能
在对 10 个无序的数字进行排序时,想要以最快的速度完成排序,且该算法适合大数据量排序场景,以下最优选择是()
A. 选择排序
B. 冒泡排序
C. 快速排序
D. 以上三种算法效率一致
智慧挑战
智慧挑战
解析:快速排序通过选择基准值将数据分割成两部分,再分别递归排序,大幅减少了比较次数,执行效率更高
答案:C
解析:重复访问待排序数据,依次比较相邻两个元素,若顺序相反则交换,直到没有交换发生为止
答案:B
下列关于冒泡排序的说法,正确的是()
A. 冒泡排序是通过选择基准值将数据分组排序
B. 冒泡排序的核心是依次比较相邻元素,逆序则交换
C. 冒泡排序只需一轮比较就能完成所有数据的排序
D. 冒泡排序比选择排序的比较次数更少
知识总结
排序算法
选择排序
冒泡排序
快速排序
谢谢
下节课见!
Thanks!
鲁教版·五年级
$