Python:插入排序算法

来源:互联网 发布:算法精解源码 编辑:程序博客网 时间:2024/06/06 14:16


插入排序:空间复杂度为O(1),时间复杂度为[O(n),O(n^2)],算法稳定,具有适应性

1、当前需要排序的元素跟已经排好序的最后一个元素进行比较,如果满足条件则进行下面的操作,否则循环到下一个

要排序的元素

2、缓存当前需要排序的元素,以便找到正确的位置进行插入

3、排序的元素跟排好序的元素进行比较,大的向后移(升序)

4、当前要排序的元素,插入到正确的位置

算法的稳定性是指:对于待排序的序列中,相同项的原来次序不能被改变

算法的适应性是指:算法因原序列有序而更加高效

def Insert_sort(lst):    for i in range(1, len(lst)):        temp = lst[i]        j = i        while j > 0 and temp < lst[j - 1]:            lst[j] = lst[j - 1]            j -= 1        lst[j] = temp        print 'lst: ', lst    return lst



原创粉丝点击