插入排序 Insertion sort

插入排序(Insertion sort)是一种简单直观的排序算法,其工作原理如下

  

  其工作原理是通过构建有序序列,对于未排序的数据,在已排序序列中从后向前比较,找到相应位置并插入。

  时间复杂度 O(N2) ,但是根据输入数据的情况不同,其时间复杂度也不同,比如序列已经是一个排序好的序列,算法仅需遍历一遍序列,时间复杂度为O(N)

  空间复杂度 O(1)

python代码如下:

def insertion_sort(nums):
    for i in range(1,len(nums)):
        key = nums[i]
        j = i - 1
        while j >=0 and nums[j] > key:
            nums[j + 1] = nums[j]
            j -= 1
        nums[j + 1] = key
    return nums

 

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