20190426-选择排序算法

2019-04-26 08:18:53来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。

算法:

step1:先写算法查找数组中最小的元素

def find_smallest_element(arr):
    smallest_element=arr[0]
    smallest_index =0
    for i in range(1,len(arr)):
        if arr[i]<smallest_element:
            smallest_element=arr[i]
            smallest_index =i
    return smallest_index

step2:将第一步找的的元素插入一个新的数组,然后循环n-1次即可排序完成n为数组的长度。

def select_order(arr):
    new_arr =[]
    for i in range(len(arr)):
        smallest = find_smallest_element(arr)
        new_arr.append(arr.pop(smallest))
    return new_arr

arr.pop(index)返回数组对应位置的元素。随着排序的进行,每次查找最小的元素要进行的遍历逐渐减小,最后一次需要检查的元素仅一个。选择排序是一种灵巧的排序方法,但的速度不快。

 


原文链接:https://www.cnblogs.com/hyj691001/p/10768698.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Django之随机图形验证码

下一篇:python 协程