算法导论之一插入排序

《算法导论》读书笔记(一)——插入排序与循环不变式 第一次学习《算法导论》,按照读书的顺序将一些心得记录下来 —————————————————————————————— 插入排序的简单C++实现: #include using namespace std; void insert_Sort(int a[], int length); int main() { const int n = 10; int a[n] = {1,3,5, 阅读详情

插入排序,对于少量元素的排序,是一个有效的算法。将其伪代码过程命名为INSERTION-SORT,其中的参数是一个数组A[1..n],包含长度为n的要排序的一个序列。

伪代码如下:

INSERTION-SORT(A)

for j = 2 to A.length

   key = A[j]

   // Insert A[j] into thesorted sequence A[1..j - 1]

       i = j – 1

       while i > 0 and A[j]> key

                A[i+1] = A[i]

                i = i – 1

       A[i+1] = key

 

代码实现如下:

#include <stdio.h>

void main()

{

         inta[]={2,3,9,4,1,8,5,7,6,0};

         inti,j,temp;

         for(i=1;i<10;i++)

         {

                   temp=a[i];

                   j=i-1;

                   while(j>=0&& a[j]>temp)

                   {

                            a[j+1]=a[j];

                            j=j-1;

                   }

                   a[j+1]=temp;

         }

         printf("sortnumber:\n");

         for(i=0;i<10;i++)

         {

                   printf("%4d",a[i]);

         }

         printf("\n");

}

 

《算法导论》第二章 算法基础 个人心得——从插入排序到初识分治法 算法基础 写在前面的废话: 这是我基于算法导论(第三版)这本书写的第一篇心得。我写博客完全是随缘的状态——想写什么写什么。正好最近开始看《算法导论》,于是就以此书为基础,将在我学习过程中的所见所闻、心得体会写在博客之中。一方面为同样在学习这本书的人提供一个参考,另一方面也让我自己可以清楚的梳理脉络,提高学习效率——个人认为,学习的最有效率的方法是讲出来。当你能给别人讲明白时,说明自己也明白了。这种学习方法的效率很高,说出来供各位参考。 《算法导论》还是《算法(第四版)》??? 这两本书都是写算法的神书, 阅读详情

相关推荐

Ultrascale/Ultrascale+ FPGA GTH IP及结构详解(一)

FPGA GTH Transceiver

houzi6320的博客 1万+

《算法导论》阅读笔记——插入排序

今天读了《算法导论》,趁晚上有些许空闲时间做一下读书笔记。 插入排序 排序问题是算法题中非常重要又基础的部分,完成排序有许多算法,冒泡排序,桶排序,插入排序,快速排序等等。以下我写一些我对插入排序的一些理解和提供伪代码。 插入排序思想 对于少量元素的排序,插入排序是一个有效的算法,插入排序的工作方式,像许多人排序一手扑克牌。开始时,我们的左手为空并且桌子上的牌面向下。然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右...

Lyrical-Wander的博客 918

超越界面设计:GUI Guider与LVGL在STM32F103上的系统集成与架构思考

本文探讨了GUI Guider与LVGL在STM32F103微控制器上的系统集成与架构设计,重点分析了工程模块化组织、内存管理优化、硬件驱动接口设计以及FreeRTOS多任务集成。针对STM32F103ZET6的资源限制,提供了实用的移植策略和性能优化方案,帮助开发者构建高效、可维护的嵌入式GUI系统。

j2k3l4的博客 921

学习《算法导论》第一章 插入排序 总结

学习《算法导论》第一章 插入排序 总结 1. 算法入门 1.1 算法简介 1.2 算法分析 1.2.1 最坏情况分析 2. 插入排序 2.1 插入排序的思想 2.2 插入排序算法 2.3 插入排序时间复杂度分析 2.4 插入排序代码实现

wan198809的专栏 753

【ComfyUI专栏】安装Triton组件

Triton是一款支持大模型推理的深度学习加速组件,最初仅支持Linux平台,现已通过开源社区适配Windows系统。针对SageAttention的安装,建议使用3.2.0Post10版本(该版本提供封装好的安装包,更高版本仅有源码)。用户可通过GitHub获取安装资源,或直接使用pip命令"pip install triton-windows"进行安装。安装时需注意:1)在虚拟环境中操作;2)使用管理员权限。相关资源链接已在文中提供。

技术与管理的平衡木- 1861

算法真的是个很有用的东西,通过python或者golang实现对N张图片的自动排版,每张图片的长和宽都不一样,有的是横图,有的是竖图,最终需要生成一张完整的矩形图片

算法真的是个很有用的东西,通过python或者golang实现对N张图片的自动排版,每张图片的长和宽都不一样,有的是横图,有的是竖图,最终需要生成一张完整的矩形图片。

代码讲故事 503

《算法导论》伪代码C++实现--插入排序

目录 伪代码: C++实现: 《算法导论》第二章插入排序 伪代码: INSERTION-SORT(A) for j = 2 to A.length key = A[j] i = j-1 while i > 0 and A[i] > key A[i+1] = A[i] i = i -1 ...

edestiny1的博客 757

YTM32B1M SDK解析31:软件I2C驱动详解

YTM32B1M微控制器软件I2C驱动解析 本文详细介绍了YTM32B1M微控制器中通过GPIO引脚模拟I2C总线的软件实现方案。核心内容包括: 驱动架构:采用swi2c_config_t配置结构体和swi2c_state_t状态结构体管理I2C参数 功能接口:提供初始化、数据传输(主/从模式)、底层控制等API 应用示例:包含基本配置、EEPROM读写、传感器数据采集、总线扫描等典型应用场景 优化建议:给出引脚选择、时序配置、错误处理等方面的最佳实践 该驱动在硬件I2C资源不足时提供可靠替代方案,支持标准

VehSwHwDeveloper的博客 158

算法导论——插入排序

算法导论开篇就在讲排序算法,首先是最基础的插入排序,过程类似于打牌的时候将手里的牌按大小排好——不断摸牌,将新牌与手里的牌作比较,插入到左侧牌比它小,右侧牌比它大的位置。 基础中的基础,算法实现如下: #include using namespace std; int main() { int N; while(cin >> N){ int arr

学渣晖sir的博客 379

让 ABAP 复杂内表优雅“喂饱”:Complex Internal Table Filling 全面实战指南

本文为ABAP开发者系统梳理了复杂内表的填充与复制方法。重点介绍了work area的两种声明方式、APPEND操作的多形态用法及其初始值语义,以及VALUE #( )构造器的逐行与整表写法。同时讲解了CORRESPONDING的同名字段映射功能,帮助开发者在"航司与航线"等复杂业务场景中实现最佳实践。文章还涵盖内存优化、可读性建议和常见误区,提供可运行样例,适用于ABAP On-Premise和SAP BTP环境。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 168

stable diffusioncontrolNet 预处理器/模型的下载及安装使用教程

首先说明,controlNet 的模型 不同于stable diffusion 模型,这一点一定要区分清楚。下面提供多个ControlNet 预处理器+ 专用模型的百度网盘下载链接,都是由群友整理贡献,但各自包含的版本不同,大家可自行选择。推荐下载紫色链接内的模型,fp16版文件更小,稍微新一些的controlnet插件还添加了对control-lora的支持(注意,要求controlnet插件的版本比12月16号新(1.1.423以上)才能正常识别),推荐下载;

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3384

算法导论中插入排序的个人理解

算法导论中插入排序的个人理解(算法导论第10页),伪代码如下: 伪代码运行步骤: 第1行:for循环:从A数组的第二个数一直插入,直到A数组的最后一个数(j表示当前时数组的第几个数) 第2行:将数组的当前值赋给key 第4行:i为j的值-1,(A[i]即数组的第j-1个数) 第5、6、7行:当i>0而且数组的第j-1的数值大于数组的j个数时: 将A的第j-1的数值赋值到A的第j个位置,将i...

qq_42884482的博客 346

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

算法导论—插入排序及Matlab实现

插入排序是《算法导论》中的第一个算法, 插入排序:Insertion-sort 输入:待排序数组A[1,···,n],长度为n 输出:按从小到大顺序排序好的数组算法思想:插入排序是最简单直观的排序方法,原理就是通过构建有序序列,随后将待排序元素插入已知序列中。matlab 代码如下%%Insertion-sort:插入排序 A=[2 5 3 6 9 3 7 1]; %%输入待排序序列 for

cindy79123的博客 2404

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

插入排序 来自《算法导论》

《算法导论》应该是一本很好的书吧,希望能把他啃完。 public class JustDoIt0804 { /** * 插入排序(来自《算法导论》) */ public static void main(String[] args) { int[] x = new int[]{4,2,1,5,7,9,1}; ...

weixin_30408675的博客 71

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

《算法导论》插入排序算法(JAVA实现)

《算法导论》插入排序算法(JAVA实现) 伪代码(算法导论【原书第三版】,第10页) INSERTION-SORT(A) for j=2 to A.length key=A[j] //Insert A[j] into the sorted sequence A[1..j-1] i=j-1 while i>0 and A[i]>key A[i+1]=A[i] i=i-1 ...

大树 498

以PHP学习《算法导论》——插入排序

 开篇学计算机的好像都要学算法与数据结构,在算法书里面《算法导论》应该算是经典之作了。我希望能在2009年好好的拜读这本书,当然他太厚了,也许需要更长的时间去揣摩。如同武功秘籍,需要些悟性,还需要平时上手练一练,比划比划。PHP是我目前吃饭用的家伙,所以用PHP这件兵器来修炼《算法导论》这部秘笈,以希望自己的内力可以有所提高。如果各位前辈,发现我出了什么错误,那么请在鄙

书中蠹dù鱼 {bookmoth} 的专栏 1321

插入排序 (算法导论笔记1)

前几日参加了百度的实习生笔试,80%的题竟然都是考算法的题,而大一简单看过的东西早就忘干净了。。。痛定思痛,决定细致地读一遍《算法导论》。  知道书很厚很长,就把它当成业余的兴趣爱好吧。  今天简单地看了一下第二章的插入排序,一个非常基础的排序算法,复杂度是二次的,当是练手。  思路很简单,就是讲待排序的数组分成两部分,左边是已经排好序的,然后将右面的元素依次往左面插入,双层循...

a155212350的博客 126

算法导论之插入排序

实算法导论,实现算法的语言是伪代码,用常用的c语言来实现,简简单单的算法 循环不变式的三个性质: 初始化:它在循环的第一轮迭代开始之前,应该是正确的。 保持:如果在循环的某一次迭代开始之前它是正确的,那么,在下一次迭代开始之前,它也应该保持正确。 终止:当循环结束时,不变式给了我们一个有用的性质,它有助于表明算法是正确的。 INSERTION-SORT在数组A={31,41,59,26...

weixin_30455023的博客 101

《算法导论》学习1-插入排序(insertion sort)

文章目录说明非降序排序1非降序排序2非升序排序1非升序排序2总结 说明 以下是在学习《算法导论》的过程中所做笔记和整理,菜鸟级别,大神勿喷。 非降序排序1 以下代码是根据书中伪代码所编源码,该方式为非降序排序。 void insertionSort_1(int *a, int length) { for(int j=1; j<length; j++) { in...

baidu_28017013的博客 299

【算法导论学习-001】插入排序(InsertionSort)

参考文献:《算法导论》中、英版本 网易公开课:http://v.163.com/movie/2010/12/G/F/M6UTT5U0I_M6V2T1JGF.html 伪代码参考:《算法导论》P18页   / /** * 创建时间:2014年7月30日 下午9:51:41 * 项目名称:Test * @since JDK 1.6.0_21 * 类说明: *...

BrilliantEagle的专栏 1106

读《算法导论》我来C语言实现(1)——插入排序

最近在重新温习算法导论,书里面的算法一段时间不看就会忘记,于是我就想重新用C语言码出来,等以后自己再用复习或要用的时候,直接阅读代码,更加方便。     书上讲的第一个算法也是个人认为最简单的一个——插入排序,作者把插入排序比作打扑克牌时的摸排并排序,很形象,下面是插入排序的代码: #include void insert_sort(int a[], unsigned int n) {

fu0709281031的专栏 1218

《算法导论》学习(一)---- 插入排序和归并排序

归并排序与插入排序的C语言实现 归并排序与插入排序的时间复杂度分析 分治思想的讲解 循环不变式的讲解 《算法导论》第二章

weixin_52042488的博客 895

算法导论第四版ch2中文笔记与插入排序,并归排序C++实现

作者:Claude Du本文内容和图片基本来源于算法导论第四版第二章。

Yunhandu的博客 1321

插入排序--算法导论

#include<stdio.h> const int N = 100; int a[N]; /** 算法导论第一部分,基础知识。 P17 插入排序,复杂度O(n^2) */ void insertion_sort( int *a,int n) { for(int i = 1;i < n ; i++) { int ...

weixin_34120274的博客 94
上一篇: 算法导论之二归并排序法
下一篇: 算法导论之三最大子数组问题
mengrennwpu
博客等级 码龄15年 262粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mengrennwpu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值