内容正文:
5.3 运用典型算法
高教版《信息技术》基础模块(下册)
1
运用排序算法
2
运用查找算法
CONTENT
运用排序算法
人们在长期实践中,总结出很多算法,为编写程序提供了极大的帮助,并在现实生活各领域广泛应用。
排序是数据处理中经常使用的一种算法,即把数据按照从小到大或从大到小的顺序进行排列。
排序算法有很多,如选择排序、插入排序、冒泡排序、堆排序、归并排序等。
1
列表
数据处理通常会涉及很多数据,这些数据需要一个容器进行管理,这个容器就是数据结构,Python中的数据结构主要有序列(列表、元组等)、集合和字典。列表(list)是Python最常用的序列,具有可变性,可以追加、插入、删除和替换元素。
运用排序算法
创建列表
追加元素
创建列表可以使用方括号“[ ]”将元素括起来,元素之间用逗号分隔。
创建空列表用“[ ]”表示。
要在列表中追加单个元素,可使用 append() 方法;
要在列表中追加多个元素或另个列表,可使用“+=”运算符或 extend() 方法。
1
列表
运用排序算法
插入元素
替换元素
使用 insert() 方法可以在列表中指定索引位置插入一个元素。
使用“=”运算符可以替换列表的元素。
1
列表
运用排序算法
删除元素
使用 remove() 方法或 pop() 方法可以删除列表中的元素。
remove() 方法从左至右查找列表中的元素,删除第一个匹配的元素,如果没有找到则提示错误。
1
列表
pop() 方法删除指定索引位置上的元素,如果不指定索引位置,则删除最后一个元素。
运用排序算法
2
选择排序算法
选择排序基本思路:
每次从待排序的数据中选出最小元素,顺序放在之前已经排好序的数据最后,直到全部数据排序完毕。
具体实现方法:
取第一个数和后面的数逐一比较,一轮之后得到最小的数放在第一个,然后开始取第二个,重复之前的比较。
运用排序算法
7 4 5 9 8 2 1
1 4 5 9 8 2 7
1 2 5 9 8 4 7
1 2 4 9 8 5 7
以此类推……
初始状态
第1轮
第2轮
第3轮
运用排序算法
1. range()函数所带范围“包头不包尾”;
2. len() 函数返回对象(字符、列表、元组等 )长度或项目个数;
3. 使用选择排序,当有n个数时每排一个数,n-1轮就能排完,因此内循环为外循环加1开始。
运用排序算法
3
插入排序算法
插入排序基本思路:
每次取出一个待排序的数据元素,按其大小插入到之前已经排好序的数据集中,直到全部待排序元素插入完毕。
具体实现方法:
从左边开始取值然后和它左边的所有元素值进行比较,如果取的值比它左边的值小就与其交换,重复以上操作。
运用排序算法
7 4 5 9 8 2 1
初始状态
第1轮
4 7 5 9 8 2 1
4 5 7 9 8 2 1
4 5 7 9 8 2 1
第2轮
4 5 7 9 8 2 1
第3轮
4 5 7 8 9 2 1
运用排序算法
第4轮
4 5 7 8 9 2 1
4 5 7 8 2 9 1
4 5 7 2 8 9 1
4 5 2 7 8 9 1
4 2 5 7 8 9 1
2 4 5 7 8 9 1
第5轮
第6轮
1 2 4 5 7 8 9
运用排序算法
1. 起点为i-1,即与当前数的前一个数开始比较;
2. 终点为-1,根据“包头不包尾”的特点,实际上是到a[0]为止;
3. 步长为-1,即逐一递减,向左逐一比较。
运用排序算法
4
Python功能库
Python 既有内置函数和标准库,又有第三方库和工具,可用于文件读写、网络抓取和解析、数据库连接、音视频处理、数据挖掘、机器学习等。
通常用 import 命令就可以引入Python功能库。
引入第三方库random
调用random库中的randint()函数,在0-10之间生成一个随机数
运用排序算法
在 Python 中还可以用内置函数 sorted 实现排序功能,使用更加方便,该函数的语法为:
sorted( list, reverse=False/True )
升序
降序
实践体验
请你阅读课本P84,尝试编写篮球比赛积分排名程序,将积分从高到低进行排序。
运用查找算法
查找也是经常使用的一种算法,即根据给定的某个值,在一组数据中确定一个关键字的值等于给定值的记录或数据元素,如查找列车车次、航班号、员工姓名等。
查找算法也有很多,如顺序查找、二分查找、插值查找、分块查找、二叉树查找、哈希表查找等。
1
顺序查找算法
顺序查找也称线性查找,即从数据结构线性表的一端开始,顺序扫描,依次将扫描到的关键字与给定值相比较。顺序查找多用于查找对象的排列无规律时。
运用查找算法
2
二分查找算法
二分查找也称折半查找