选择排序是对整体序列进行排序
快速排序也是对整体序列进行排序
快速选择算法是快速在未排序的数组中寻找第k小/大的元素
快速选择算法和快速排序的思想是找基准点 , 在基准点左边的都比他小,然后在基准点右边的都比大这样
但是这两个算法的目的不同
所以实现起来会有不同 快速选择算法只要选择一侧进行迭代就好了 快速排序要两侧都迭代
选择排序:保持最小元素在最左侧,用最左侧的元素依次和右边的元素比较,谁小谁放在左边。
步骤:
1.在未排序序列中找到最小元素,存放到排序序列的起始位置。
2.再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。
3.以此类推,直到所有元素均排序完毕。
'''
class Solution(object):
def selectSort(self,a):
for i in range(len(a)): #一次for循环,直接从i+1计算,就不算i前面已经排好序的数值
for j in range(i + 1, len(a)): #一次for循环确定一个最小值.通过让i对应的值和i之后的每个值进行比较,让a[i]处于最小值
if a[i] > a[j]: #保持a[i]最小
a[i],a[j] = a[j], a[i]
return a
my_solution = Solution()
a = [9,3,8,5]
b = my_solution.selectSort(a)
print("sequence is:", b)
---------------------
作者:湾区Python
来源:CSDN
原文:https://blog.csdn.net/BTUJACK/article/details/80548249
版权声明:本文为博主原创文章,转载请附上博文链接!
快速排序和归并排序的区别,Python代码实现
https://blog.csdn.net/BTUJACK/article/details/84196476
认识你是我们的缘分,同学,等等,学习人工智能,记得关注我。
微信扫一扫
关注该公众号
《湾区人工智能》