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. Java之String类用法总结

    String类概述: 1.String类代表字符串.Java 程序中的所有字符串字面值(如"abc")都作为此类的实例实现. 2.String是一个final类,代表不可变的字符序 ...

  2. Java Linked集合的简单介绍和常用方法的使用

    LinkedList的简单介绍 java.util.LinkedList 集合数据存储的结构是链表结构.LinkedList是一个双向链表在实际开发中,对一个集合元素的添加和删除,经常涉及到首尾操作, ...

  3. Android 平台JS调试技术

    1.  测试技术简介 Android平台微信公众号一般以H5的形式开发,测试发现流量一般都通过js进行加密传输,导致无法对越权.SQL注入等风险点进行测试.针对此难点,本手册会介绍包括Android环 ...

  4. APICloud开发者进阶之路 |纯手工编写日程表功能

    本文出自APICloud官方论坛, 感谢论坛版主 赵永亮 的分享. 最近看论坛内关于极光推送的问题有很多, 本想写一个关于极光的详细教程的,无奈已经有很多大牛分享过了,所以只得纯手工写了一个日程表,可 ...

  5. STL 结构体内重载 一个比较运算符

    struct node { ll a, b; bool operator< (const node &c)const{ return a < c.a; } }pre[eps];

  6. Flutter全面屏适配

    笔者在这篇文章ReactNative全面屏(Android)适配问题提及了现在的全面屏问题,不仅是Android平台,IOS平台也是,给我的感觉就是手机越来越长了. 现在的手机长宽比早就不是之前的16 ...

  7. Ansible playbooks常用模块案例操作

    打开git bash 连接ansible服务器,然后进入deploy用户 #ssh root@192.168.96.188 进入python3.6虚拟环境 #su - deploy #source . ...

  8. DataFrame数据合并

    一.join 作用:默认情况下,他是把行索引相同的数据合并到一起注意:以左为准,没有的部分用NaN补全 例子 import pandas as pd import numpy as np df1 = ...

  9. 异数OS 星星之火(三)--异数OS-织梦师云 微服务编写入门

    . 异数OS 星星之火(三)–异数OS-织梦师云 微服务编写入门 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 6 ...

  10. Error connecting to the Service Control Manager: 拒绝访问 Mongodb问题-解决

    原文地址:https://blog.csdn.net/carrot5032/article/details/74742888 发现在mongodb.log里出现  2017-07-07T17:01:5 ...