65Python排序算法——选择排序

2024-10-28
| 8页
| 84人阅读
| 3人下载
普通

内容正文:

65 Python排序算法—— 选择排序 一、选择排序(selection sort) 选择排序(Selection sort)是一种简单直观的排序算法。 它的工作原理是每一次从待排序的数据元素中选出最小(或最大) 的一个元素,存放在序列的起始位置,所以称为:选择排序。 二、选择排序原理 设第一个元素为比较元素,依次和后面的元素比较,比较完所有元素并找到最小元素,记录最小元素下标,和第0个下表元素进行交换 在未排序区域中,重复上述操作,以此类推找出剩余最小元素将它换到前面,即完成排序。 基本思想 选择排序的基本思路是每次从未排序的数列中选择最小(或最大)的元素(最小即升序,最大即降序),将其放到已排序数列的末尾。重复这个过程,直到所有元素都被排序为止。选择排序是一种简单但效率较低的排序算法,其时间复杂度为O(n^2),不适用于大规模数据的排序。 三、选择排序和冒泡排序对比 选择排序是一种简单直观的排序算法。它与冒泡排序很相似,都是比较 n-1 轮,每轮都是比较 n–1–i 次,每轮找出一个最大值或最小值。 只不过,冒泡排序是将每轮找出的最值放到最右边,而选择排序是将每轮找出的最值放到最左边。 并且在算法上,冒泡排序是将相邻的数进行逐个比较,以从小到大排序为例,只要前面的比后面的大,就互换这两个数,直到最后将最大的数“浮”到最右边,如此依次循环。 而选择排序是先保存第一个元素的下标,然后后面所有的数依次与第一个元素相比,如果遇到更小的,则记录更小的那个数的下标,然后后面所有的数都依次与那个更小的数比较,直到最后将最小的数的下标找出来,然后再将这个数放到最左边,即与下标为 0 的数互换。如果最小的数的下标就是 0 那么就不用互换。 动态演示 四、算法步骤 实现步骤 (1)设数组长度为n。 (2)从数组中找到最小的元素,并记录其下标。 (3)将最小元素与第1个元素交换位置。 (4)在剩下的n-1个元素中,找到最小的元素,记录其下标。 (5)将最小元素与第2个元素交换位置。 (6)重复步骤4-5,直到排序完成。 案例:使用选择排序算法,对列表排序 l=[54,226,93,17,77,31,44,55,20] $$

资源预览图

65Python排序算法——选择排序
1
65Python排序算法——选择排序
2
65Python排序算法——选择排序
3
65Python排序算法——选择排序
4
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。