• python实现选择排序算法


    经典中的选择排序算法有冒泡排序、选择排序等,相对于冒泡排序来说,选择排序的方式也是比较简单的一种排序方式。

    一、排序算法

    (一)原理

    第一次从等待排序的数据元素中选择出最小(最大)的元素放在数据序列的第一个位置,然后再从剩余未排序的元素中选择最小(最大)放再已排序的元素后面,依次方式进行。

    这里取一组数 3,2,1,9,4,6,5;对其进行排序!

    第一次排序:1  2   3   9  4   6   5

    第二次排序:    2   3   9   4   6   5

    第三次排序:          3   9   4   6   5

    第四次排序:                 9   6   5

    第五次排序:                        6   9

    第六次排序:                         6   9

    上述红色标记表示每次剩余未排序序列中的最小值,蓝色标记的则为最小值与其替换后的元素。比如,第一次排序中,最小的元素为1,而且1的位置在3个位置,将1排到序列的第一个位置,将原来第一个位置的元素放到1的位置,也就是1与3的位置相互替换。

    (二)算法步骤

    1. 对一个长度为n的序列进行遍历n-1个数,寻找最小值(最大数)与序列的第一个元素进行替换;

    2. 对第一次排序后的剩余序列元素进行遍历n-2个数,寻找最小值(最大数)的元素与排序后的第二个元素进行替换;

    3. 重复上述规律直到进行n-1次操作寻找最小数(最大数)与第n-1个数进行替换,完成操作;

    二、选择排序代码

    1. '''
    2. 目标:选择排序的实现-------依次选择最小的索引进行从前往后进行替换
    3. 编写时间:2022.10.31
    4. 编写者:G-huipeng
    5. '''
    6. def select_sort(num):
    7. for i in range(len(num)):
    8. min_index_value=i
    9. temp=num[i]
    10. for j in range(i+1,len(num)):
    11. if num[j]
    12. min_index_value=j
    13. num[i]=num[min_index_value]
    14. num[min_index_value]=temp
    15. print('第%s次排序的结果:%s'% (i+1,num))
    16. return num
    17. num=[3,2,1,9,4,6,5]
    18. sort_value=select_sort(num)

    三、输出结果

    1. 1次排序的结果:[1, 2, 3, 9, 4, 6, 5]
    2. 2次排序的结果:[1, 2, 3, 9, 4, 6, 5]
    3. 3次排序的结果:[1, 2, 3, 9, 4, 6, 5]
    4. 4次排序的结果:[1, 2, 3, 4, 9, 6, 5]
    5. 5次排序的结果:[1, 2, 3, 4, 5, 6, 9]
    6. 6次排序的结果:[1, 2, 3, 4, 5, 6, 9]
    7. 7次排序的结果:[1, 2, 3, 4, 5, 6, 9]
    8. Process finished with exit code 0

    对于冒泡排序的python编写见链接点击蓝色字体冒泡排序  冒泡排序

  • 相关阅读:
    机器学习笔记之隐马尔可夫模型(二)背景介绍
    Leetcode30-最小展台数量(66)
    PIR人体感应AC系列感应器投光灯人体感应开关等应用定制方案
    【开源】SpringBoot框架开发假日旅社管理系统
    关于maven读取settings.xml文件的优先级问题
    一些RabbitMQ面试题
    全面掌握const的用法《一》
    Java后端开发面试题——企业场景篇
    设计循环队列,解决假溢出问题
    MOM成功实施分享(五)刨花板制造数字化聚焦业务场景
  • 原文地址:https://blog.csdn.net/weixin_51631044/article/details/127639624