一、Insertion sort

1. 问题

在这里插入图片描述

2. 算法

2.1 伪代码

在这里插入图片描述

2.2 算法思想

在这里插入图片描述

2.3 手工演示

在这里插入图片描述

2.4 Python实现

《算法导论》一书数组默认从111开始,这种方式适合算法分析,从000开始适合程序实现,为了能和伪代码一致便于对比,后边所有的Python实现中数组均从111开始。

# -*- coding: utf-8 -*-
import sysdef insertion_sort(A, n):for j in range(2, n+1):key = A[j]i = j - 1while i > 0 and A[i] > key:A[i+1] = A[i]i = i - 1A[i+1] = keyif __name__ == '__main__':input_str = sys.stdin.readline().split()A = list(map(int, input_str))A.insert(0, 'x')    # 为了使数组从1开始n = len(A) - 1print('Before sort:')print(A[1:])print('After sort:')insertion_sort(A, n)print(A[1:])

3 算法分析

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hibernate学习笔记

Hibernate是什么: Hibernate 架构: 下载、安装、必要的 jar包、环境CLASSPAST的设置(此步骤省略) Hibernate框架的使用步骤:1、创建Hibernate的配置文件(hibernate.cfg.xml)2、创建持久化类&…

二、Merge sort

1 问题 2 算法 2.1 伪代码 2.2 算法思想 2.3 手工演示 2.4 Python实现 # -*- coding: utf-8 -*- import sysdef merge(A, p, q, r):n1 q - p 1n2 r - qL [0] * (n1 2)R [0] * (n2 2)for i in range(1, n11):L[i] A[pi-1]for j in range(1, n21):R[j] A[qj]L[n11] 6…

三、递归树分析法

1 问题 2 解决思路 使用递归树猜想一个上界,使用归纳法证明上界也是下界。 2.1 使用递归树(recursion tree)猜想结论(不严谨) 使用递归树两点:1⃣️逐行展开;2⃣️逐行相加; 逐行…

html5input表单标签新属性

初探h5一,h5 新增表单类型二,新增表单属性三,code demo一,h5 新增表单类型 •email 邮箱地址•url 网络地址•number 数字框•range 滑块•Date pickers (date, month, week, time, datetime, datetime-local) 日期时间框•search…

关于java的JIT知识

1.JIT的工作原理图 工作原理 当JIT编译启用时(默认是启用的),JVM读入.class文件解释后,将其发给JIT编译器。JIT编译器将字节码编译成本机机器代码。 通常javac将程序源码编译,转换成java字节码,JVM通过解释…

Storage 使用

关于web项目数据存储1. 存储种类2. localStorage/sessionStorage2.1 概念2.2 api的使用3. 学生curd测试localStorage针对客户端存储讲 ——storage1. 存储种类 1. 分为服务器端和客户端的存储 2. 服务器端:1. 内存存储(临时)application session request pageConte…

spring 基于xml方式配置aop

目录什么是aop模拟aop配置什么是aop 什么是aop 作用 在程序运行期间,在不修改源码的情况下对方法进行功能增强 优势 减少重复代码 提高开发效率 并且便于开发2.aop关键概念 模拟aop 目标接口 package com.lovely.proxy.aop;public interface TargetInterface …

3389爆破DUBrute_2.1

3389专业爆破 DUBrute_2.1.zip http://pan.baidu.com/s/1pJE0t5L转载于:https://www.cnblogs.com/lieyan/p/3859696.html

h5 server send event(sse)

1. sse概述 概念: H5支持使用JS脚本不间断的访问服务器(推送)轮询: 页面使用js的定时器,定时发送请求查询最新数据 使用js将最新数据加载至页面 每发送一次数据,需要建立新的连接 时间间隔由客户端决定 优点:不需要刷新页面、实…

sublime text3下BracketHighlighter的配置方法

st3的配置方法和st2是有区别的,所以网上搜索到的方法大多不能用,我google之后总结了一下。 一、 1、在st3中按preferences-->package settings-->Bracket highlighter-->Bracket settings-Default打开配置文件。 2、将配置文件信息全选复制一份…

利用spring注解创建bean

spring注解spring 原始注解1.1 Component注解1.2 Controller,Service,Repository同上1.3 注解方式依赖注入spring 新注解1. 用来解析配置类&#xff0c;利用配置类替代xml注解代替了xml的繁琐配置 spring 原始注解 1.1 Component注解 <!--spring 使用注解创建对象 compone…