zoukankan      html  css  js  c++  java
  • 插入排序

    插入排序算法有种递归的思想在里面,它由N-1趟排序组成。初始时,只考虑数组下标0处的元素,只有一个元素,显然是有序的。

    然后第一趟 对下标 1 处的元素进行排序,保证数组[0,1]上的元素有序;

    第二趟 对下标 2 处的元素进行排序,保证数组[0,2]上的元素有序;

    .....

    .....

    第N-1趟对下标 N-1 处的元素进行排序,保证数组[0,N-1]上的元素有序,也就是整个数组有序了。

    它的递归思想就体现在:当对位置 i 处的元素进行排序时,[0,i-1]上的元素一定是已经有序的了。

    时间复杂度为O(n**2)

    def insertSort(test):
        length = len(test)
        for i in range(1,length):
            m = test[i]
            for j in range(0,i):
                if test[j]>m:
                    test[i],test[j] = test[j],test[i]
                else:
                    continue
        return test    
    
    test = [10,9,7,8,3,6,11]
    insertSort(test)
    >>>[3, 6, 7, 8, 9, 10, 11]
    

      

  • 相关阅读:
    Redis基础
    Windows 10 中 安装 RabbitMQ
    Nginx
    第二章-矩阵
    第一章-行列式
    第六章-微分方程
    第五章-多元函数
    第四章-定积分
    第三章-不定积分
    第二章-导数
  • 原文地址:https://www.cnblogs.com/zenan/p/8723967.html
Copyright © 2011-2022 走看看