python插入排序算法的实现代码

yipeiwu_com6年前Python基础

1.算法:
设有一组关键字{ K 1 , K 2 ,…, K n };排序开始就认为 K 1 是一个有序序列;让 K 2 插入上述表长为 1 的有序序列,使之成为一个表长为 2 的有序序列;然后让 K 3 插入上述表长为 2 的有序序列,使之成为一个表长为 3 的有序序列;依次类推,最后让 K n 插入上述表长为 n-1 的有序序列,得一个表长为 n 的有序序列。

2.python插入排序代码

复制代码 代码如下:

def insertion_sort(list2):
    for i in range(1, len(list2)):
        save = list2[i]
        j = i
        while j > 0 and list2[j - 1] > save:
            list2[j] = list2[j - 1]
            j -= 1
        list2[j] = save

结果:[2, 3, 4, 21, 33, 44, 45, 67]

3.时间复杂度:O(n*n)

相关文章

Eclipse中Python开发环境搭建简单教程

Eclipse中Python开发环境搭建简单教程

一、背景介绍   Eclipse是一款基于Java的可扩展开发平台。其官方下载中包括J2EE方向版本、Java方向版本、C/C++方向版本、移动应用方向版本等诸多版本。除此之外,Ecli...

Python基于pycrypto实现的AES加密和解密算法示例

本文实例讲述了Python基于pycrypto实现的AES加密和解密算法。分享给大家供大家参考,具体如下: 一 代码 # -*- coding: UTF-8 -*- import s...

python组合无重复三位数的实例

# -*- coding: utf-8 -*- # 简述:这里有四个数字,分别是:1、2、3、4 #提问:能组成多少个互不相同且无重复数字的三位数?各是多少? def f(n):...

Python获取linux主机ip的简单实现方法

本文实例讲述了Python获取linux主机ip的简单实现方法。分享给大家供大家参考,具体如下: python有好几种方法可以获取主机的ip地址。我常用的一种是通过socket.sock...

Python实现多态、协议和鸭子类型的代码详解

多态 问起面向对象的三大特性,几乎每个人都能对答如流:封装、继承、多态。今天我们就要来说一说 Python 中的多态。 所谓多态:就是指一个类实例的相同方法在不同情形有不同表现形式。多态...