选择排序 Selection sort

选择排序(Selection sort)是一种简单直观的排序算法,其工作原理如下

  

  首先在未排序序列中找到最小(大)元素,与序列起始位置元素交换位置,再从剩下的序列中继续寻找最小(大)元素,与已排序序列的后一位元素交换位置,以此类推,直至排序完毕

  时间复杂度 O(N2):当N个数进行排序时,将进行T=[N*(N-1)]/2次,根据计算方法保留最高次N^2,因此选择排序的时间复杂度为O(N2);

  空间复杂度 O(1)  :因为排序中始终只用到了数组大小的空间,为常数,因此空间复杂度为O(1)。

python代码如下:

def selection_sort(nums):
    for i in range(len(nums) - 1):
        index = i
        for j in range(i + 1, len(nums)):
            if nums[index] > nums[j]:
                index = j
        nums[i],nums[index] = nums[index],nums[i]
        
    return nums

 

posted @ 2022-06-20 19:39  Liang-ml  阅读(35)  评论(0)    收藏  举报