内容正文:
第6课 生活中的算法
—查找与排序
第三单元 基于算法的编程基础
山东省2024青岛版初中Python同步教学设计
1
技术
支持
1
了解排序、查找算法及思路,理解不同算法的实现过程。
2
通过在生活场景中对排序、查找算法的选择和应用,了解不同排序、查找算法的作用和特点。
3
在程序设计的过程中,体会算法的多样性,提升问题分析、算法解决、程序表达的数字化学习与创新能力。
学习目标
2
目
录
contents
01
02
探究二
排序算法
03
探究三
我实践我创新
04
课堂小结
探究一
查找算法
3
查找算法是Python算法中的另一个重要算法,主要包括顺序查找、二分查找、哈希查找等。查找算法的应用也非常广泛,例如在数据库查询、搜索引擎等领域都有应用。
探究一 查找算法
1
4
顺序查找
顺序查找是一种简单直观的查找算法,其基本思想是从第一循环元素开始逐个与要查找的目标进行比较,如果与要查找的目标一致,则查找成功,如果查找到最后一个元素,与目标仍不一致,则查找失败。
1
1
探究一 查找算法—顺序查找
顺序查找适用于各种情况,包括有序和无序的数据结构,以及连续和离散存储的情况。然而,这种查找方法通常比较慢,因为需要逐个比较每个元素。
探究一 查找算法—顺序查找
1
型号 单价/(元/12支) 销量/万支
33301 29.9 10
33302 14.6 6
33303 15.6 9
33304 22.5 8
33305 35.5 2
33306 23.9 11
33307 19.9 5
下表为某品牌文具官方旗舰店里不同中性笔的单价、销量。
分析在数据表中查找33306型号的过程。
开始
遍历序列
结束
找到
探究一 查找算法—顺序查找
1
设定目标“33306”
目标==列表项?
序列中无可查找元素
探究一 查找算法—顺序查找
1
number=[‘33301’,‘33302’,‘33303’,‘33304’,‘33305’,‘33306’,‘33307’]
target=‘33306’
:#i遍历列表中所有型号
if :#查找目标等于当前型号
print(“已找到”)
position=number.index(1) #查找目标位置position
print(“是列表中第”, +1,“个型号”)#目标位置+1
break
else:
print(“不匹配”)
for i in number
i==target
二分查找
二分查找也称折半查找,它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
1
1
探究一 查找算法—二分查找
1.必须采用顺序存储结构。
2.必须按关键字大小有序排列。
顺序查找 二分查找
顺序查找是一种简单直观的查找算法,其基本思想是从第一
循环元素开始逐个与要查找的目标进行比较,如果与要查找的目标一致,则查找成功,如果查找到最后一个元素,与目标仍不一致,则查找失败 从表的中间项开始查找,如果表的中间项就是目标项,则查找结束;如果不匹配,当中间项比目标项大,目标项在前半部分,当中间项比目标项小,目标项在后半部分。重复上述查找过程,每次都能将查找范围缩小一半,直到查找结束。
1
1
探究一 查找算法
探究二 排序算法
2
排序算法是Python算法中的基础算法,主要包括冒泡排序、选择排序、插入排序、快速排序等。排序算法的应用非常广泛,例如在数据处理、搜索引擎等领域都有应用。
11
排序就是将一组数据按照一定的规则进行排列,使其从无序变为有序的操作,程序中有多种排序算法对数据进行排序。
排序算法
1
2
3
冒泡排序:冒泡排序算法是把较小的元素往前调或者把较大的元素往后调。
快速排序:通过一趟排序算法把所需要排序的序列的元素分割成两大块,其中,一部分的元素都要小于或等于另外一部分的序列元素,然后仍根据该种方法对划分后的这两块序列的元素分别再次实行快速排序算法。
1
2
探究二 排序算法
排序算法的应用非常广泛,例如在数据处理、搜索引擎等领域都有应用。
1
探究二 排序算法—冒泡排序
2
10 6 9 8 2 11 5
10 6 9 8 2 11 5
6 10 9 8 2 11 5
6 9 10 8 2 11 5
6 9 8 10 2 11 5
6 9 8 2 10 11 5
6 9 8 2 10 11 5
6 9 8 2 10 5 11
第1轮后的序列
13
探