美文网首页
插入排序的Python实现

插入排序的Python实现

作者: 码不能停 | 来源:发表于2018-07-17 23:26 被阅读0次

插入排序分析

输入: 长度为length的无序列表
返回值: 按照升序排好序的数组
插入排序的基本原理,是从第2项开始遍历到最后一项,每次遍历的起始项之前是一个排好序的列表,在第n次遍历的时候,在排序好的长度n列表中找到正确的位置,将第n个元素插入,得到一个长度为n+1的数组,接着开始n+1次遍历。

图解

例: [4, 9, 3, 5, 0, 2]


插入排序图示

代码实现

def insert_sort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        j = i - 1

        while j >= 0 and arr[j] > key:
            arr[j+1] = arr[j]
            j -= 1

        arr[j+1] = key
    return arr

if __name__ == '__main__':
        arr = [4, 9, 3, 5, 0, 2]
        insert_sort(arr)
        print(arr)

在Python中,List是可变类型,所以上述函数的写法将会在列表的原处改动,如果不希望改动,可以使用深拷贝将列表复制后排序,或将元素添加到新的列表。

相关文章

  • 排序算法详细代码实现

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

  • python实现插入排序(InsertSort)

    python实现【插入排序】 算法原理及介绍 插入排序(Insertion-Sort)的算法描述是一种简单直观的排...

  • java快速学习排序---插入排序

    1.java实现插入排序 (1)、图解插入排序 (2)、插入排序的思想 (3)、插入排序的代码实现

  • 插入排序python实现

    插入排序算法介绍 摘自维基百科: 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作...

  • 插入排序(python实现)

    插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找...

  • Python 实现插入排序

    插入排序适合于部分有序序列和小规模的数据。其平均时间复杂度为 O(N^2),空间复杂度为 O(1),并且为稳定排序...

  • 插入排序的Python实现

    插入排序分析 输入: 长度为length的无序列表返回值: 按照升序排好序的数组插入排序的基本原理,是从第2项开始...

  • python 排序算法

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

  • python实现插入排序算法

    插入排序,其原理是通过构建一个初始的有序序列,然后从无需序列中抽取元素,插入到有序序列的相对排序位置,就像将一堆编...

  • python实现插入排序算法

    插入排序,其原理是通过构建一个初始的有序序列,然后从无需序列中抽取元素,插入到有序序列的相对排序位置,就像将一堆编...

网友评论

      本文标题:插入排序的Python实现

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