内容源自哔哩哔哩up主青岛大学--王卓的算法数据结构以及大话数据结构
(虽然网上已经有很多资料了,但是自己理解了再写一遍感觉印象更深刻,所以记录下来,以便以后查阅)
选择排序:(1)简单选择排序(2)堆排序
(1)简单选择排序
基本思想是在待排序的数据中选出最大(小)的元素放在最终的位置。
具体过程:
1)首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将其与第一个记录交换
2)再通过n-2次比较,从剩下的n-1个记录中找出关键字次小的记录,将它与第二个交换
3)重复以上过程
代码:(假设当前的值时最小的,依次用后面的关键字跟这个值比较,并记录过程中每一次的最小值,直到遍历完整个序列,找到一个最小的跟这个交换)
def selectSort(arr):
for i in range(len(arr)-1):
index = i
for j in ra