Insertion Sort - 插入排序
插入排序算法的 '时间复杂度' 是输入规模的二次函数, 深度抽象后表示为, n 的二次方. import time, random
F = 0
alist = []
while F < 13:
F += 1
alist.append(random.randrange(0,100))
j =1
print("List-O",alist)
startT =time.time()
while j < alist.__len__():
factor = alist[j]
j += 1
print("-",factor)
i = j -1
while i > 0:
i -= 1
if alist[i] > factor:
alist[i],alist[i+1] = alist[i+1],alist[i]
print("Steps", alist)
endT = time.time()
print("List-S", alist)
print("Time elapsed :", endT - startT) Output,
List-O [67, 22, 94, 33, 81, 92, 65, 94, 56, 10, 55, 5, 64]
- 22
Steps [22, 67, 94, 33, 81, 92, 65, 94, 56, 10, 55, 5, 64]
- 94
Steps [22, 67, 94, 33, 81, 92, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 67, 94, 33, 81, 92, 65, 94, 56, 10, 55, 5, 64]
- 33
Steps [22, 67, 33, 94, 81, 92, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 94, 81, 92, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 94, 81, 92, 65, 94, 56, 10, 55, 5, 64]
- 81
Steps [22, 33, 67, 81, 94, 92, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 81, 94, 92, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 81, 94, 92, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 81, 94, 92, 65, 94, 56, 10, 55, 5, 64]
- 92
Steps [22, 33, 67, 81, 92, 94, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 81, 92, 94, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 81, 92, 94, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 81, 92, 94, 65, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 81, 92, 94, 65, 94, 56, 10, 55, 5, 64]
- 65
Steps [22, 33, 67, 81, 92, 65, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 81, 65, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 67, 65, 81, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
- 94
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 94, 94, 56, 10, 55, 5, 64]
- 56
Steps [22, 33, 65, 67, 81, 92, 94, 56, 94, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 92, 56, 94, 94, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 81, 56, 92, 94, 94, 10, 55, 5, 64]
Steps [22, 33, 65, 67, 56, 81, 92, 94, 94, 10, 55, 5, 64]
Steps [22, 33, 65, 56, 67, 81, 92, 94, 94, 10, 55, 5, 64]
Steps [22, 33, 56, 65, 67, 81, 92, 94, 94, 10, 55, 5, 64]
Steps [22, 33, 56, 65, 67, 81, 92, 94, 94, 10, 55, 5, 64]
Steps [22, 33, 56, 65, 67, 81, 92, 94, 94, 10, 55, 5, 64]
- 10
Steps [22, 33, 56, 65, 67, 81, 92, 94, 10, 94, 55, 5, 64]
Steps [22, 33, 56, 65, 67, 81, 92, 10, 94, 94, 55, 5, 64]
Steps [22, 33, 56, 65, 67, 81, 10, 92, 94, 94, 55, 5, 64]
Steps [22, 33, 56, 65, 67, 10, 81, 92, 94, 94, 55, 5, 64]
Steps [22, 33, 56, 65, 10, 67, 81, 92, 94, 94, 55, 5, 64]
Steps [22, 33, 56, 10, 65, 67, 81, 92, 94, 94, 55, 5, 64]
Steps [22, 33, 10, 56, 65, 67, 81, 92, 94, 94, 55, 5, 64]
Steps [22, 10, 33, 56, 65, 67, 81, 92, 94, 94, 55, 5, 64]
Steps [10, 22, 33, 56, 65, 67, 81, 92, 94, 94, 55, 5, 64]
- 55
Steps [10, 22, 33, 56, 65, 67, 81, 92, 94, 55, 94, 5, 64]
Steps [10, 22, 33, 56, 65, 67, 81, 92, 55, 94, 94, 5, 64]
Steps [10, 22, 33, 56, 65, 67, 81, 55, 92, 94, 94, 5, 64]
Steps [10, 22, 33, 56, 65, 67, 55, 81, 92, 94, 94, 5, 64]
Steps [10, 22, 33, 56, 65, 55, 67, 81, 92, 94, 94, 5, 64]
Steps [10, 22, 33, 56, 55, 65, 67, 81, 92, 94, 94, 5, 64]
Steps [10, 22, 33, 55, 56, 65, 67, 81, 92, 94, 94, 5, 64]
Steps [10, 22, 33, 55, 56, 65, 67, 81, 92, 94, 94, 5, 64]
Steps [10, 22, 33, 55, 56, 65, 67, 81, 92, 94, 94, 5, 64]
Steps [10, 22, 33, 55, 56, 65, 67, 81, 92, 94, 94, 5, 64]
- 5
Steps [10, 22, 33, 55, 56, 65, 67, 81, 92, 94, 5, 94, 64]
Steps [10, 22, 33, 55, 56, 65, 67, 81, 92, 5, 94, 94, 64]
Steps [10, 22, 33, 55, 56, 65, 67, 81, 5, 92, 94, 94, 64]
Steps [10, 22, 33, 55, 56, 65, 67, 5, 81, 92, 94, 94, 64]
Steps [10, 22, 33, 55, 56, 65, 5, 67, 81, 92, 94, 94, 64]
Steps [10, 22, 33, 55, 56, 5, 65, 67, 81, 92, 94, 94, 64]
Steps [10, 22, 33, 55, 5, 56, 65, 67, 81, 92, 94, 94, 64]
Steps [10, 22, 33, 5, 55, 56, 65, 67, 81, 92, 94, 94, 64]
Steps [10, 22, 5, 33, 55, 56, 65, 67, 81, 92, 94, 94, 64]
Steps [10, 5, 22, 33, 55, 56, 65, 67, 81, 92, 94, 94, 64]
Steps [5, 10, 22, 33, 55, 56, 65, 67, 81, 92, 94, 94, 64]
- 64
Steps [5, 10, 22, 33, 55, 56, 65, 67, 81, 92, 94, 64, 94]
Steps [5, 10, 22, 33, 55, 56, 65, 67, 81, 92, 64, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 65, 67, 81, 64, 92, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 65, 67, 64, 81, 92, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 65, 64, 67, 81, 92, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 64, 65, 67, 81, 92, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 64, 65, 67, 81, 92, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 64, 65, 67, 81, 92, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 64, 65, 67, 81, 92, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 64, 65, 67, 81, 92, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 64, 65, 67, 81, 92, 94, 94]
Steps [5, 10, 22, 33, 55, 56, 64, 65, 67, 81, 92, 94, 94]
List-S [5, 10, 22, 33, 55, 56, 64, 65, 67, 81, 92, 94, 94]
Time elapsed : 0.015672683715820312

Algorithms - Insertion Sort - 插入排序的更多相关文章

  1. [Algorithms] Sorting Algorithms (Insertion Sort, Bubble Sort, Merge Sort and Quicksort)

    Recently I systematicall review some sorting algorithms, including insertion sort, bubble sort, merg ...

  2. Algorithms - Insertion sort

    印象 图1 插入排序过程 思想 插入排序(Insertion Sort)的主要思想是不断地将待排序的元素插入到有序序列中,是有序序列不断地扩大,直至所有元素都被插入到有序序列中. 分析 时间复杂度: ...

  3. [Algorithms] Insertion sort algorithm using TypeScript

    Insertion sort is a very intuitive algorithm as humans use this pattern naturally when sorting cards ...

  4. insertion sort(插入排序)

    #include<stdio.h> #include<time.h> int insertion_sort() { ; int a[max],i,j; srand((unsig ...

  5. 经典排序算法 – 插入排序Insertion sort

    经典排序算法 – 插入排序Insertion sort  插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕. 插入排序方法分直接插入排序和折半插入排序两种, ...

  6. 【排序基础】5、插入排序法 - Insertion Sort

    插入排序法 - Insertion Sort 文章目录 插入排序法 - Insertion Sort 插入排序设计思想 插入排序代码实现 操作:插入排序与选择排序的比较 简单记录-bobo老师的玩转算 ...

  7. leetcode 147. Insertion Sort List ----- java

    Sort a linked list using insertion sort. 插入排序. /** * Definition for singly-linked list. * public cla ...

  8. [LeetCode] Insertion Sort List 链表插入排序

    Sort a linked list using insertion sort. 链表的插入排序实现原理很简单,就是一个元素一个元素的从原链表中取出来,然后按顺序插入到新链表中,时间复杂度为O(n2) ...

  9. [算法] 插入排序 Insertion Sort

    插入排序(Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,通常采用in-pla ...

随机推荐

  1. express框架中使用nodemon自启动服务

    1.安装nodemon //全局安装 npm install -g nodemon //本地安装 npm install nodemon --save 2.修改package.json配置 " ...

  2. Scala实践1

    一.Scala安装和配置 1.1安装 Scala需要Java运行时库,安装Scala需要首先安装jdk. 然后在Scala官网下载 程序安装包 根据不同的操作系统选择不同的安装包,下载完成后,将安装包 ...

  3. .Net Core使用分布式缓存Redis:Lua脚本

    一.前言 运行环境window,redis版本3.2.1.此处暂不对Lua进行详细讲解,只从Redis的方面讲解. 二.Redis的Lua脚本 在Redis的2.6版本推出了脚本功能,允许开发者使用L ...

  4. Django redis 应用

    一.自定义连接池 与python中使用连接池一样(使用单例对象) 注意:每个视图函数都要有 conn = redis.Redis(connection_pool=POOL) 二.使用第三方模块(dja ...

  5. 动态规划 之 区间DP练习

    前言 \(Loj\) 放上了那么多<信息学奥赛一本通>上的题(虽然我并没有这本书),我要给它点一个大大的赞 ^_^ 以后分类刷题不愁啦! 正文 那就一道道说吧. 石子合并 将 \(n\) ...

  6. 【java面试】IO流

    一.IO 1.IO概念 ·输入流:把能够读取一个字节序列的对象称为输入流(百度百科) ·输出流:把能够写一个字节序列的对象称为输出流(百度百科) 从定义上看可能会让你感到困惑,这里解释一下:];    ...

  7. 玩转Django2.0---Django笔记建站基础九(二)(Auth认证系统)

    9.4 设置用户权限 用户权限主要是对不同的用户设置不同的功能使用权限,而每个功能主要以模型来划分.以9.3节的MyDjango项目为例,在Admin后台管理系统可以查看并设置用户权限,如下图: 用户 ...

  8. 使用Razor表达式 举数组和集合 精通ASP-NET-MVC-5-弗瑞曼

  9. Linux Centos7 在桌面添加快捷方式

    当时,刚刚安装好centos7,又下载好了jb家的软件,但是每一次都要用命令行才能运 我想要的是下面的效果,那是我后来才研究出来的 我看到了自动生成的为什么可以用,我的打开了源文件研究了一下 第一,先 ...

  10. Charles的安装及使用过程

    一.charles的使用 1.1  charles的说明 Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的.该 ...