内容正文:
第五章 数据结构与算法
选修1《数据与数据结构》
5.3 排序算法
--选择与冒泡
学习目标
排序算法
选择排序算法
冒泡排序算法
排序算法
排序就是整理数据的序列,使其中元素按照某个值的递增(或递减)的次序重新排列的操作。
在排序的过程中,数据元素的值保持不变,但其在序列中的顺序可能发生变化。
·排序的概念
·数据的存储方式
待排序数据的存储方式一般有两种:
1、以数组作为存储结构
通过关键字之间的比较判断,将数据移到合适的位置
2、以链表作为存储结构
对链表进行排序无须移动数据,只需修改指针即可。
排序算法
选择排序算法
选择排序算法是对参加排序的数组中所有元素中找出最小(或最大)的数据,使它与第一个(或最后一个)元素中的数据进行相互交换位置。然后在余下的元素中找出最小(或最大)的数据,与第二个(或最后第二个)元素中的数据交换位置。以此类推,直到所有元素称为一个有序的序列。
·选择排序的基本思路
对长度为 n 的数组而言,一共排序 n-1 次,比较次数是 n(n-1)/2。
排序算法
·选择排序的效率
选择排序算法
·图解选择排序算法(降序)
排序算法
第一层:
选择排序算法
·图解选择排序算法(降序)
排序算法
第二层:
选择排序算法
·图解选择排序算法(降序)
排序算法
第三层:
选择排序算法
·图解选择排序算法(降序)
排序算法
第四层:
第五层:
选择排序算法
·图解选择排序算法(降序)
排序算法
一:选定一个比较的基值,一般取第一个或最后一个
二:循环
i:层数。取值范围: 0 ~ 4
j:查询最大数据的次数。取值范围:i之后所有数据元素
a = [3, 8, 2, 5, 4, 7]
print("原列表为:")
print(a)
for i in range(len(a) - 1):