美文网首页
选择排序 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)
    
    

    相关文章

      网友评论

          本文标题:选择排序 by Python

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