插入排序——Python实现
一、排序思想
排序思想参见:https://www.cnblogs.com/luomeng/p/10583124.html
二、python实现
def InsertSort(arrs):
"""
插入排序
:param arrs: 待排序列 index:有序序列尾元素下标
value:有序序列尾元素值
"""
for i in range(1, len(arrs)):
index = i - 1
value = arrs[i] while index >= 0 and arrs[index] > value:
# 将待插入元素依次与有序序列比较(从右至左),
# 直到找到有序序列中某一元素小于待插入元素或者没有找到比待插入元素小的值;
arrs[index + 1] = arrs[index]
index -= 1 # 将待插入的元素,插入到有序系列中:
# 若找到有序序列中某一个元素小于待插入元素,则将待插入元素插入到该元素后面;
# 若在有序序列中没有找到大于待插入元素的值,则将待插入元素位置不变;
arrs[index + 1] = value arr = [5, 3, 8, 2, 9, 7, 3, 1] InsertSort(arr) print(arr)
插入排序——Python实现的更多相关文章
- 插入排序-Python与PHP实现版
插入排序Python实现 import random a=[random.randint(1,999) for x in range(0,36)] # 直接插入排序算法 def insertionSo ...
- 插入排序——Python实现
插入排序Python实现 # -*- coding: utf-8 -*- # @Time : 2019/10/28 20:47 # @Author : yuzhou_1shu # @Email : y ...
- 插入排序-python实现
def insert_sort(arr): for j in range(1,len(arr)): #从list第二个元素开始 key=arr[j] ...
- 插入排序--python
import random def insert_sort(nums): # 排序趟数 for i in range(1, len(nums)): current = nums[i] pre_inde ...
- [算法导论]插入排序 @ Python
class insertionsort(): def insertion_sort(self,Array): for i in range(1, len(Array)): key = Array[i] ...
- 几种排序算法的学习,利用Python和C实现
之前学过的都忘了,也没好好做过总结,现在总结一下. 时间复杂度和空间复杂度的概念: 1.空间复杂度:是程序运行所以需要的额外消耗存储空间,一般的递归算法就要有o(n)的空间复杂度了,简单说就是递归集算 ...
- 常见排序算法-Python实现
常见排序算法-Python实现 python 排序 算法 1.二分法 python 32行 right = length- : ] ): test_list = [,,,,,, ...
- 十大经典排序算法(python实现)(原创)
个人最喜欢的排序方法是非比较类的计数排序,简单粗暴.专治花里胡哨!!! 使用场景: 1,空间复杂度 越低越好.n值较大: 堆排序 O(nlog2n) O(1) 2,无空间复杂度要求.n值较大: 桶排序 ...
- 十大经典算法 Python实现
十大经典排序算法(python实现)(原创) 使用场景: 1,空间复杂度 越低越好.n值较大: 堆排序 O(nlog2n) O(1) 2,无空间复杂度要求.n值较大: 桶排序 O(n+k) O(n+k ...
随机推荐
- 驼峰转大写(javaScript)
var a = function(s){return s.replace(/([A-Z])/g,"_$1").toUpperCase();} F12控制台可以直接用
- STR[#6]
photo 小明在旅游的路上看到了一条美丽的河,河上有许多船只,有的船只向左航行,有的船只向右航行.小明希望拍下这一美丽的风景,并且把尽可能多的船只都完整地拍到一张照片中. 小明位于河的边上,并且可以 ...
- EXPORT Man Information for Linux use COMMAND col
col命令 是一个标准输入文本过滤器,它从标注输入设备读取文本内容,并把内容显示到标注输出设备.在许多UNIX说明文件里,都有RLF控制字符.当我们运用shell特殊字符>和>>,把 ...
- 多张表进行关联查询---->删除某个数据的时候出现还有子记录的提示
多张表进行关联查询的时候,当某张表里面的一个字段在另外一张表有定义,就相当于一张表是另外一张表的子表:比如现在开发所遇到的一个问题: 这个是在删除sys_user表的里面的数据的时候出现的问题,因为s ...
- ionic 学习 一
ionic 依赖angular.在学之前,我对angular进行了一下入门. 最近在看ionic,想做一些笔记,所以,写下这个随笔,有什么不对的请多多指教,刚开始学,后面还会学Apache Cordo ...
- Oracle远程数据建物化视图(materialized)创建简单记录,以及DBLINK的创建
目的:实现远程数据库访问及其相应表的定时同步 一.远程数据库dblink的创建 select * from dba_db_links; select * from user_sys_privs;--查 ...
- 分分钟钟学会Python - 数据类型(set)
目录 今日内容 具体内容 1.集合含义 2.独有方法 3.公共方法 4.特殊情况 5.总结 @ 今日内容 集合(set) 具体内容 1.集合含义 一个无序的不重复元素序列. 可以使用大括号 { } 或 ...
- 《大数据日知录》读书笔记-ch11大规模批处理系统
MapReduce: 计算模型: 实例1:单词统计 实例2:链接反转 实例3:页面点击统计 系统架构: 在Map阶段还可以执行可选的Combiner操作,类似于Reduce,但是在Mapper sid ...
- IOS Intro - Write file
#import <sys/xattr.h> + (NSString *)getFullFilePathInDocuments:(NSString *)subFilePath fileNam ...
- 改修jquery支持cmd规范的seajs
手动包装jquery1.10.2,firebug说$没有定义 define(function (require, exports, module) {//jquery源码module.exports= ...