算法导论学习笔记(1)

Introduction to Algorithms 算法导论 第1章 基础知识 学习笔记及习题解答 什么是算法     定义良好的计算过程,取一个或者一组值作为输入,产生一个或一组输出值。 1.1-1 给出一个真实世界的例子,其中包括着下列的某种计算问题:排序,确定多矩阵相乘的最佳顺序,或者找出凸壳。     排序:         这个是最常见的。比如:         某公司市场部季度销售额排名。         Alexa网站排名。(什么是Alexa?http: 阅读详情

一. 插入排序算法

伪码:INSERTION-SORT(A)

1. for j = 2 to A.length

2.      key = A[j]

3.      //Insert A[j] into the sorted sequence  A[1..j-1]

4.      i = j -1

5.      while i > 0 and A[i] > key

6.               A[i +1] = A[i]

7.               i = i -1

8.      A[i +1] = key


代码实现:

#include<iostream>
using namespace std;
void insertion_sort(int *arry,int length)
{
	for(int j = 1; j < length; j++)
	{
		int key = arry[j];
		//insert a[j] into the sorted sequence a[0...j-1]
		int i = j-1;
		while(i >= 0 && arry[i] > key)
		{
			arry[i+1] = arry[i];
			i = i -1;
		}
		arry[i+1] = key;
	}
}
int main()
{
	int a[6] = {5,2,4,6,1,3};
	insertion_sort(a,6);
	for(int i = 0; i < 6; i++)
		cout << a[i] << " ";
	cout << endl;
}

二.选择算法(练习2.2-2)

SELECTION -SORT(A)
1. n = A.length
2. for j = 1 to n 1
3.     smallest = j
4.      for i = j + 1 to n
5.           if A[i] < A[smallest]
6.              smallest = i
7. exchange A[j]  with A[smallest]


代码实现:

#include<iostream>
using namespace std;
void swap(int& a, int &b)
{
	int index = a;
	a = b;
	b= index;
}
void selection_sort(int* arry, int length)
{
	for (int j = 0; j < length-1; j++)
	{
		int smallest = j;
		for (int i = j+1; i < length; i++)
			if(arry[i] < arry[smallest])
				smallest = i;
		swap(arry[j], arry[smallest]);
	}
}
int main()
{
	int a[6] = {5,2,4,6,1,3};
	selection_sort(a, 6);
	for(int i = 0; i < 6; i++)
		cout << a[i] << " ";
	cout << endl;
	return 0;
}


CST毫米波雷达ADAS仿真:从直角反射器到距离多普勒(RD图)的实战解析 本文通过CST Studio Suite实战解析毫米波汽车雷达ADAS仿真,详细演示了从构建直角反射器目标、参数化定义速度、进行参数扫描到生成距离多普勒图(RD图)的全过程。文章深入探讨了雷达关键参数(如距离分辨率、速度分辨率)的设计权衡与工程逻辑,并提供了单位统一、速度范围设定等实用避坑指南,帮助工程师高效完成雷达系统性能的前期验证与优化。 阅读详情

相关推荐

企业微信群机器人配置全攻略:从零到消息推送的完整流程

本文详细介绍了企业微信群机器人的配置与使用全流程,从零开始指导如何创建机器人、获取Webhook地址,到通过HTTP请求发送文本、Markdown、图片及模板卡片等多种消息类型。内容涵盖核心的接口配置、安全实践及实战应用场景,帮助开发与运维团队快速构建自动化消息推送中枢,提升协作效率。

weixin_29231725的博客 842

《算法导论》学习笔记(1)

算法和数据结构学习笔记(一)引言 引言 所用教材为《算法》第四版

LeonShaw_zh的博客 749

ThingsBoard 场景联动需求

当初有个兄弟请我帮他实现一个需求,需求如上,很简单,实现完成后我怕他操作不来,又写了这份文档给他,今天把这个文档的场景发出来,大家也可以学习一下思路我把需要模拟设备的指令都总结在下面,连接参数截图讲解如下:温度传感器风扇光照传感器灯。

AldrichEugene 1233

算法导论学习笔记-1

下载了算法导论2th的电子书籍 和 mit算法导论教学视频对自己的要求是:做简单的笔记,看着简要笔记,能否知道对应内容含义,应用情况。当前看了1--6 [共24课,每课1:20]做笔记如下:1 Master method2 Sort algorithm  Give the explanation of every sort algorithmComparison sorts1 insert sor

winnerbao的专栏 1780

CPU 访问外设的两种核心机制:MMIO(Memory-Mapped I/O) 和 DMA(Direct Memory Access)

BAR和DMA是计算机系统中两种关键的数据传输机制:BAR(基址寄存器)用于CPU与设备间的控制通信,映射设备寄存器便于配置操作;而DMA(直接内存访问)允许设备直接读写系统内存,无需CPU参与大量数据传输。典型场景如NVMe SSD读取数据时,CPU通过BAR下发指令,设备通过DMA高效传输数据到主机内存,最后中断通知CPU。虽然BAR能映射大内存空间,但仍无法替代DMA的高效数据传输功能,两者各司其职——BAR负责控制,DMA专注数据传输,共同实现高性能的硬件交互。

MHD0815的博客 237

基于YOLOv8与UI界面的校园垃圾分类督导系统

YOLO(You Only Look Once)是目前最为广泛使用的目标检测算法之一。它通过一次前向传递即完成目标检测,具有极高的速度与效率。YOLOv8是YOLO系列的最新版本,相比于之前的YOLO版本,YOLOv8在速度、精度、检测能力等方面都有了显著的提升。本项目通过结合YOLOv8模型与UI界面,成功实现了校园垃圾分类督导系统。该系统能够自动识别不同类型的垃圾,并通过UI界面实时展示垃圾分类的结果。

YOLO 337

学习笔记 | 算法导论学习笔记1

《算法导论》打卡1,主要内容:插入排序,分治法,归并排序 第一部分 基础知识 第一章 算法在计算中的作用 1.1 算法 算法就是任何良定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或者值的集合作为输出。 规范书写: 问题:XXXX 输入:XXXXXXXX 输出:XXXXXXXX 算法步骤: 1.XXXXXXXXXXX 2.XXXXXXXXXXX 注意问题与问题实例的区别。 1.2 作为一种技术的算法 考虑效率:时间与空间资源的消耗 第二章 算法基础 2.1 插入排序 输入:n个

Justlovesmile的博客 3503

rk3588 适配以太网(百兆)

虽然 RK3588 的 GMAC 控制器原生支持千兆速率(10/100/1000 Mbps),但在某些工业控制、物联网网关或成本敏感型硬件设计中,开发者会选择将其配置为 百兆以太网(Fast Ethernet) 模式。

weixin_35723192的博客 218

算法导论学习笔记 -(1)

一个ACM若菜,趁着ACM淡季,开始学习算法导论了,经过一年的ACM学习,逐渐的发现,学东西,深入才是王道,以前学习一个算法,总是看懂了就开始做题,到后来才发现很多题目,会算法,却不知道是用这个算法,这就是算法理解的不到位的后果,从今天开始,定下目标: 1.深入系统的学习算法, 2.学会纸上写伪代码,每章的代码自己先在纸上写一遍, 3.每节的学习笔记和算法都要写在博客上。 在博客上记录自己

myHelperIsMe的专栏 859

Python和Spyder:一个完美的编程组合

而Spyder作为一个专门为科学计算和数据分析而设计的IDE,提供了高效的开发环境和丰富的工具。无论是初学者还是专业开发者,Python和Spyder都能满足他们的需求,并为他们的工作带来便利和效率。本文将探讨Python和Spyder之间的关系,以及它们如何相互配合,提供一流的编程体验。每个工具都有其特定的优势和适用场景,开发者可以根据自己的需求选择合适的工具。而Spyder作为一个专门为科学计算而设计的IDE,提供了编写、调试和执行Python代码的环境。

CodeHeroicX的博客 1123

YOLOv11改进策略【独家融合改进】| MobileNetV4+BiFPN,轻松实现降参涨点,适用专栏内所有的骨干替换

可扩展的高效物体检测BiFPN(加权双向特征金字塔网络)

Limiiiing的博客 2361

算法导论学习笔记[1] #20210709

算法导论学习笔记[1] #20210709lec 2渐近记号Solving recurrences lec 2 Lecture 2 Asymptotic Notation; Recurrences; Substitution, Master Method 渐近记号 Q0: OOO记号和Θ\ThetaΘ记号有何异同? A0: 同:都考察某个常数n0n_0n0​之后的行为。都有上界。 异:f(n)=O(g(n))f(n)=O(g(n))f(n)=O(g(n))中f(n)f(n)f(n)下界是0而不是c1g(n

tritone的博客 338

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

麻省理工《算法导论》公开课学习笔记【1】

最近在看麻省的《算法导论》公开课(以网易公开课为准),准备就学习体会和相关的编程练习写一篇连载。 简要说一下,语言希望能够都使用python。大多数的算法练习资料都是用C/C++,而且好多公司也要求是C/C++的实现。前段时间一直在用PYTHON,而且也仔细看了些书。 我觉得python还是很不错的语言,语法简要,风格优美。 另外一方面,python的适用性很强,你可以用它开发客户端,也可以

小木匠盖大厦 2857

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

《算法导论》学习笔记1

《算法导论》的目录结构,算法的定义及简介。

小豆豆~ 236

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

《算法导论》学习笔记:1.算法在计算中的应用

一、笔记1.算法 是任何良定义的计算过程,该过程取某个值或值的集合作为输入,并取某个值或值的集合作为输出。输入问题,输出答案。2.许多算法问题共同特征:(1)存在许多候选解,但其中大部分候选解都没有解决手头的问题,寻找一个真正的解很难;(2)存在实际应用。3.数据结构:一种存储和组织数据的方式,旨在便于访问和修改。不同的数据结构各有特点,适用于不同的用途。二、练习题(欢迎补充与指正)1.给出现实生...

a695968902的博客 977

算法导论学习笔记1

关于算法 ? 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。(能将算法写成程序,并让计算机准确无误地执行)。也...

168

一个菜鸟的算法导论学习笔记【Introsuction&Chapter 1】

Introduction&Chapter 1 Introduction 学习基础:掌握基本c++语法,通过慕课北京大学程序设计与算法(二)学习了一些基本的算法。 学习目标:半年时间内完成,用c++/java实现大部分伪代码。 博客内容:相应的代码片与学习总结。 使用书籍:英文版 INTRODUCTION TO ALGORITHMS Chapter 1 1.1 算法&数据结构

weixin_37665732的博客 264

算法导论学习笔记1_循环不变式

循环不变式1. 循环不变式和数学归纳法2. 循环不变式的三条性质3. 利用循环不变式分析插入排序 1. 循环不变式和数学归纳法 在数学中,数学归纳法常用于证明给定命题在自然数范围内的正确性,它是一种严谨的演绎推理法。而在计算机科学中,循环不变式同样作为一种演绎推理法用于理解和证明算法的正确性。从下文的介绍中可以看出,循环不变式和数学归纳法有着许多的相似之处。 2. 循环不变式的三条性质 循环不变式...

weixin_43374723的博客 2915

算法导论学习笔记--1--分治排序

libochun3217的专栏 558

算法导论学习笔记-1-4章

第一章  算法在计算机中的应用 第二章  算法入门      插入排序      算法设计(分治法,分治法分析) 第三章  函数增长(渐进记号,时间复杂度) 第四章  递归式      代换法      递归树方法      主方法(主定理的证明) 第一章是个概要。 第二章以一个插入排序为例子,来介绍什么是算法,本书中讲解每个算法

ThinkCode的专栏 722

算法导论学习笔记——12.1二叉搜索树

map<int,int>mp[maxn]; void insert(int idx) { if(!num[idx]) { num[idx] = m; mp[m]=idx; return ; } if(m > num[idx]) insert(idx * 2); else insert(idx * ...

HDUCheater的博客 486

MIT算法导论学习笔记-Lecture1

第一讲:算法分析 1

小川学编程 1251

《算法导论》学习笔记之Chapter5.1

5.1-2 问题:请描述RANDOM(a, b)过程的一种实现,它只调用RANDOM(0, 1)。作为a和b的函数,你的过程的期望运行时间是多少? 伪代码: [plain] view plain copy RANDOM(a, b)   1   n = b - a + 1   2   generate a new array A[1

u010483897的博客 332

算法导论学习笔记

1

u013108521的专栏 246
上一篇: TSTCON32.exe下测试.ocx时的路径问题
下一篇: strcat与strcpy与strcmp与strlen
devil_pull
博客等级 码龄15年 12粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值