美文网首页Python编程技术
Python 实现选择排序

Python 实现选择排序

作者: 融合xx | 来源:发表于2019-10-15 21:23 被阅读0次

选择排序算法步骤:

  1. 找到数组中最小的那个元素中,
  2. 将它和数组的第一个元素交换位置,
  3. 在剩下的元素中找到最小的元素,将它和数组的第二个元素交换位置,
  4. 如此往复,知道将整个数组排序。

逐步分析:

  1. 假设一个数组有 6 个元素,
    [5, 1, 4, 3, 2, 6]
  2. 第 1 个元素为 5,与剩余 5 个元素相比,1 是最小的元素,所以 5 和 1 交换位置,
    [1, 5, 4, 3, 2, 6]
  3. 第 2 个元素为 5,与剩余 4 个元素相比, 2 是最小的元素,所以 5 和 2 交换位置,
    [1, 2, 4, 3, 5, 6]
  4. 第 3 个元素为 4,与剩余 3 个元素相比, 3 是最小的元素,所以 4 和 3 交换位置,
    [1, 2, 3, 4, 5, 6]
  5. 不断重复直到排好序。
def select_sort(arr):
    # 索引从 0 到 n-2
    for i in range(len(arr) - 1):
        # 最小元素的索引
        min = i
        # min 与从 i+1 到 n-1 的元素比较
        j = i + 1
        while j < len(arr):
            if arr[min] > arr[j]:
                # 找到最小的元素
                min = j
            j += 1
        # 交换位置
        arr[i], arr[min] = arr[min], arr[i]


a = [5, 1, 4, 3, 2, 6]
select_sort(a)
print(a)

稳定性:不稳定
复杂度:
平均 O(n^2)
最坏 O(n^2)
最好 O(n^2)

相关文章

  • 排序算法详细代码实现

    算法分类 算法时间复杂度 选择排序 插入排序 C++实现 Python实现 冒泡排序 Python实现 归并排序 ...

  • python实现选择排序(SelectionSort)

    python实现【选择排序】 算法原理及介绍 选择排序(Selection-sort)是一种简单直观的排序算法。它...

  • 七大排序算法的 Python

    本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插...

  • 八大排序算法的 Python 实现(转)

    本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插...

  • Python实现程序员必备之排序算法汇总

    本文用Python实现了快速排序、插入排序、希尔排序、归并排序、堆排序、选择排序、冒泡排序共7种排序算法。 一、快...

  • python 排序算法

    文章概述 介绍各大常用经典的排序算法和效率,以及python实现常用算法(冒泡排序,选择排序,快速排序,插入排序)...

  • Python 实现七大排序算法

    本文用 Python 实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序。 先整体看一下...

  • 选择排序Python实现

    选择排序分析 输入: 长度为length的无序数组 输出: 长度为length的升序数组 原理从第一个数开始, 遍...

  • python实现选择排序​

    python实现选择排序​ ​ 假设你有一个因为列表,上面记录你歌曲的播放数量,现在需要对音乐列表进行排序,按...

  • 选择排序 Python实现

网友评论

    本文标题:Python 实现选择排序

    本文链接:https://www.haomeiwen.com/subject/zuremctx.html