【排序】选择排序

2019-06-04  本文已影响0人  dshowing

选择排序(Selection sort)是一种简单直观的排序算法,将数列分为两部分:排序部分和待选择部分,每次从待选择的数列选出最大或者最小的元素放置于起始位置。

算法思想

代码实现

def selection_sort(arr):
    """选择排序"""
    # 第一层for表示循环选择的遍数
    for i in range(len(arr) - 1):
        # 将起始元素设为最小元素
        min_index = i
        # 第二层for表示最小元素和后面的元素逐个比较
        for j in range(i + 1, len(arr)):
            if arr[j] < arr[min_index]:
                # 如果当前元素比最小元素小,则把当前元素角标记为最小元素角标
                min_index = j
        # 查找一遍后将最小元素与起始元素互换
        arr[min_index], arr[i] = arr[i], arr[min_index]
    return arr

算法分析

与冒泡不同的是,每次只有一次数据交换,因而可以减少CPU消耗,实际使用还是少

上一篇 下一篇

猜你喜欢

热点阅读