Python编程:排序算法之插入排序

简介: Python编程:排序算法之插入排序

插入排序

列表被分为有序区和无序区两个部分,最初有序区只有一个元素

每次从无序区选择一个元素,插入到有序区的位置,直到无需去变空

代码实现

# -*- coding: utf-8 -*-
# @File    : insert_sort_demo.py
# @Date    : 2018-06-11
import random
# 插入排序 O(n^2)
def insert_sort(lst):
    count = 0
    for i in range(1, len(lst)):
        tmp = lst[i]
        j = i - 1
        while j >=0 and tmp < lst[j]:
            lst[j+1] = lst[j]
            j -= 1
            count += 1
        lst[j+1] = tmp
    print("count: %s"% count)
lst = list(range(10))
random.shuffle(lst)
insert_sort(lst)
print(lst)
# count: 20
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


相关文章
|
搜索推荐 算法 Shell
Python 金典的“八大排序算法”
Python 金典的“八大排序算法”
103 1
|
搜索推荐 C++ Python
Python排序算法大PK:归并VS快速,谁才是你的效率之选?
【7月更文挑战第13天】归并排序** 使用分治法,稳定且平均时间复杂度O(n log n),适合保持元素顺序和并行处理。
102 5
|
搜索推荐 算法 数据挖掘
十大排序算法详解-上篇:比较排序算法【python 动态图解】
十大排序算法详解-上篇:比较排序算法【python 动态图解】
|
搜索推荐 算法 前端开发
各种排序算法及Python源代码
各种排序算法及Python源代码
142 3
|
算法 搜索推荐 测试技术
python排序算法及优化学习笔记1
python实现的简单的排序算法,以及算法优化,学习笔记1
153 1
|
搜索推荐 Python
Python实现选择排序算法
Python实现选择排序算法
133 1
|
搜索推荐 算法 Python
Python小知识 - 八大排序算法
Python小知识 - 八大排序算法
|
搜索推荐 算法 Python
Python系列(21)—— 排序算法
Python系列(21)—— 排序算法
|
搜索推荐 算法 Python
使用 Python 实现几种常见的排序算法
使用 Python 实现几种常见的排序算法
121 1
|
搜索推荐 Shell Python
【Python排序算法系列】—— 希尔排序
【Python排序算法系列】—— 希尔排序
124 0

推荐镜像

更多