小朋友们好,大朋友们好!
我是猫妹,一名爱上Python编程的小学生。
和猫妹学Python,一起趣味学编程。
今日主题
什么是选择排序?
用Python写段代码,实现插入排序。
选择排序
选择排序是一种简单的排序算法,它的基本思想是在待排序的数列中,找到最小(大)的元素,然后将其放到数列的起始位置,再从剩余的未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
以此类推,直到所有元素均排序完毕。具体实现过程如下:
-
在未排序序列中,找到最小元素,记录其位置。
-
将最小元素与未排序序列的第一个元素交换位置。
-
在剩余未排序元素中,重复步骤1和步骤2,直到整个序列排序完成。
选择排序的时间复杂度为 O(n^2),适用于数据量较小的情况。
认真看下图,秒懂:
Python实现
如果你理解了上述过程,不妨写代码实现下,看能否把思路变成代码,这很重要。
list1=[4,6,32,5,12,2,15,28,9,10]
length=len(list1)
print("排序前:",list1)
for i in range(length - 1):
min_index = i
for j in range(i+1,length):
if list1[min_index] > list1[j]:
min_index=j
list1[min_index],list1[i] = list1[i],list1[min_index]
print(f"第{i+1}轮排好序时{list1}")
print("最终排好序的列表:",list1)
猫爸说,二十年前,他上大学那会,学的第一门编程语言是c语言,作者是谭浩强教授。
c语言也是一门非常流行的语言,应用领域非常广。
那本书中有讲到选择排序和冒泡排序,必考内容,刚毕业时,面试也经常考试这个,发张A4纸手写代码。
好长时间不用,都忘记了。
好了,我们今天就学到这里吧!
如果遇到什么问题,咱们多多交流,共同解决。
我是猫妹,咱们下次见!