美文网首页
选择排序 by Python

选择排序 by Python

作者: 慧鑫coming | 来源:发表于2019-01-31 05:32 被阅读0次

最好时间复杂度:O(n²)
最坏时间复杂度:O(n²)
平均时间复杂度:O(n²)
空间复杂度:O(1)
是否是稳定排序:No
是否是原地排序:Yes
python 实现:

class Solution:
    def selectionSort(self, nums):
        """
        :type nums: List[int]
        :rtype: void
        """
        length = len(nums)
        if length <= 1:
            return
        for i in range(0, length-1):
            # 从索引为0开始,依次将每个位置的初始值作为本次内层循环的最小值
            min_index = i
            for j in range(i+1, length):
                # 循环过程中发现小于最小值的值,先记录其索引,内循环结束后进行值交换
                if nums[j] < nums[min_index]:
                    min_index = j
            nums[min_index], nums[i] = nums[i], nums[min_index]
        return

if __name__ == "__main__":
    nums = [1,3,2,4,6,8,20,4,5,6,7,10]
    s = Solution()
    s.selectionSort(nums)
    print(nums)

相关文章

  • Python排序算法有哪几种?

    python排序算法有哪些?python中常见的排序算法有:插入排序、选择排序、冒泡排序、快速排序、归并排序、希尔...

  • 基础算法笔记 python和C++

    二分查找 python code 选择排序 python code c++ code 快速排序 python c++

  • 排序算法详细代码实现

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

  • python实现选择排序(SelectionSort)

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

  • 七大排序算法的 Python

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

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

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

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

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

  • Python 实现七大排序算法

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

  • python 排序算法

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

  • python选择排序

    写一个python 选择排序: range(start, end, step) 产生一个可以迭代的对象。

网友评论

      本文标题:选择排序 by Python

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