Algorithms - Insertion Sort - 插入排序
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 - 插入排序的更多相关文章
- [Algorithms] Sorting Algorithms (Insertion Sort, Bubble Sort, Merge Sort and Quicksort)
Recently I systematicall review some sorting algorithms, including insertion sort, bubble sort, merg ...
- Algorithms - Insertion sort
印象 图1 插入排序过程 思想 插入排序(Insertion Sort)的主要思想是不断地将待排序的元素插入到有序序列中,是有序序列不断地扩大,直至所有元素都被插入到有序序列中. 分析 时间复杂度: ...
- [Algorithms] Insertion sort algorithm using TypeScript
Insertion sort is a very intuitive algorithm as humans use this pattern naturally when sorting cards ...
- insertion sort(插入排序)
#include<stdio.h> #include<time.h> int insertion_sort() { ; int a[max],i,j; srand((unsig ...
- 经典排序算法 – 插入排序Insertion sort
经典排序算法 – 插入排序Insertion sort 插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕. 插入排序方法分直接插入排序和折半插入排序两种, ...
- 【排序基础】5、插入排序法 - Insertion Sort
插入排序法 - Insertion Sort 文章目录 插入排序法 - Insertion Sort 插入排序设计思想 插入排序代码实现 操作:插入排序与选择排序的比较 简单记录-bobo老师的玩转算 ...
- leetcode 147. Insertion Sort List ----- java
Sort a linked list using insertion sort. 插入排序. /** * Definition for singly-linked list. * public cla ...
- [LeetCode] Insertion Sort List 链表插入排序
Sort a linked list using insertion sort. 链表的插入排序实现原理很简单,就是一个元素一个元素的从原链表中取出来,然后按顺序插入到新链表中,时间复杂度为O(n2) ...
- [算法] 插入排序 Insertion Sort
插入排序(Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,通常采用in-pla ...
随机推荐
- 如何利用Map2Shp进行快速格式转换
有时,用户仅需要进行GIS数据格式的简单转换,对文字注记.制图表达.投影信息无特别要求,可进行快速格式转换.做为MapGIS文件与Shape文件间的格式转换工具,Map2Shp软件操作过程十分简单,只 ...
- Spring Boot2 系列教程 (十二) | 整合 thymeleaf
前言 如题,今天介绍 Thymeleaf ,并整合 Thymeleaf 开发一个简陋版的学生信息管理系统. SpringBoot 提供了大量模板引擎,包含 Freemarker.Groovy.Thym ...
- Spring Boot2 系列教程 (四) | 集成 Swagger2 构建强大的 RESTful API 文档
前言 快过年了,不知道你们啥时候放年假,忙不忙.反正我是挺闲的,所以有时间写 blog.今天给你们带来 SpringBoot 集成 Swagger2 的教程. 什么是 Swagger2 Swagger ...
- 最大区间和变形 - codeforces
题意 : 可以选择操作一串区间,将区间内的某一个数全部变成一个新的数字,询问整个区间中某个数字的出现次数总共有多少个? 思路分析 : 首先最后选的一定是一个区间,然后 ans = cnt(1, l-1 ...
- 基于Java+HttpClient+TestNG的接口自动化测试框架(四)-------参数存取处理
在真正开始接口测试之前,我们需要对参数的处理进行梳理.这里所说的“参数”,既包含之前在xml中的配置(我们称之为全局参数),也包含在每一条用例中书写的param.全局参数为固定不变的,而根据接口相应获 ...
- Vue+elementUI 自定义动态数据菜单导航组件实现展开收缩+路由跳转router-view渲染数据 路由跳转到同一个页面带参数ID 自动刷新数据
准备:导入ElementUI 看官网教程 数据准备:JSON数据转换成树状 参考文章: JS实现 JSON扁平数据转换树状数据 后台我拿的数据是这样的格式: [ {id:1 , parentId: 0 ...
- 龙芯 fedora28 安装指南
版权声明:原创文章,未经博主允许不得转载 关于硬件 龙芯3号的板子安装系统都差不多,我分别在 Lemote A1310 和 Lemote A1901 上都尝试过. 本文主要依据 Lemote A190 ...
- Commvault逻辑架构及组件说明
在学习和使用Commvault软件的过程中,经常会碰到一些术语和缩写,初学者可能并不是很清楚这些术语和缩写的具体含义,接下来我们梳理一下Commvault软件中这些属于和缩写的含义,有可能一次不能梳理 ...
- from .cv2 import * ImportError: DLL load failed: 找不到指定的模块。 >>>
from .cv2 import * ImportError: DLL load failed: 找不到指定的模块. >>> 昨天看项目的时候遇到这个问题,折腾到深夜,网上的各种方法 ...
- Spring 中读取文件-ResourceLoaderAware
Spring 中读取文件-ResourceLoaderAware 概述 Spring ResourceLoader为我们提供了一个统一的getResource()方法来通过资源路径检索外部资源.从而将 ...