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

手把手教你搭建三端口DC-DC变换器(含Boost+Buck电路实战) 本文详细介绍了如何从零开始搭建三端口DC-DC变换器,涵盖Boost和Buck电路的硬件设计、元器件选型、电路板布局、焊接技巧、控制系统设计与调试等关键步骤。通过实战案例和优化建议,帮助工程师避开常见陷阱,提升系统效率和稳定性,适用于光伏、储能等电力电子应用场景。 阅读详情

一个ACM若菜,趁着ACM淡季,开始学习算法导论了,经过一年的ACM学习,逐渐的发现,学东西,深入才是王道,以前学习一个算法,总是看懂了就开始做题,到后来才发现很多题目,会算法,却不知道是用这个算法,这就是算法理解的不到位的后果,从今天开始,定下目标:

1.深入系统的学习算法,

2.学会纸上写伪代码,每章的代码自己先在纸上写一遍,

3.每节的学习笔记和算法都要写在博客上。

在博客上记录自己的学习笔记,方便以后温习.   欢迎各路大神路过指正错误之处。

现在,先写写书上的第一个算法,插入排序。

算法思想:对于一个数组A,如果A[0~j-1]已经为有序序列,那么对于第j位来说,只需要依次更A[j-1~0]比较,如果A[j]更小,就把当前比较的数往后挪一位,最后把A[j]放入空位中,下面为代码。

现在给出下面代码的正确性证明:

1. 当j = 1的时候,A[0~j-1]的数只有A[0], 此时显然A[0]是一个已排序的序列,在A[1]与A[0]进行比较之后,A[0~1]变成了一个有序序列。

2. 假设满足A[0~j-1]为有序序列,那么当迭代j的时候, A[j]会与A[j-1 ~ 0]依次比较并把比A[j]小的依次往后挪,最后把A[j]放入对应位置,于是A[0~j] 变又成了一个有序序列, 然后j+1,进行下一次迭代。

3. 当循环跳出的时候,因为每次j都会+1,于是j = n, 此时由2可得出,A[0~n-1]为有序序列,并且A[0~n-1]为完整的序列,于是算法正确。

//insertion_sort
#include <iostream>
using namespace std;

void insertion_sort(int* A, int n)
{
    for (int j = 1; j < n; j++)
    {
        int key = A[j];
        int i = j-1;
        //Insert A[j] into the sorted sequence A[0..j-1].
        while (i >= 0 && A[i] > key)
        {
            A[i+1] = A[i];
            i--;
        }
        A[i+1] = key;
    }
}
void print(int* A, int n)
{
    for (int i = 0; i < n; i++) {
        cout << A[i] << " ";
    }
    cout << endl;
}
int main()
{
    int A[10] = {43,2,53,1,8,29,52,4,8,10};
    
    cout << "before sorted: ";
    print(A, 10);
    
    insertion_sort(A, 10);
    
    cout << "after sorted: ";
    print(A, 10);
    
    return 0;
}


贝叶斯机器学习在吸附量预测中的应用 本文介绍了贝叶斯机器学习在吸附量预测中的应用。通过Python实现完整的贝叶斯建模流程,包括数据生成、预处理、模型构建与评估。文章对比了贝叶斯与频率学派的差异,详细阐述了贝叶斯线性回归和神经网络的实现方法,并提供了数据可视化、模型诊断等技术细节。该方法不仅能预测吸附量,还能量化预测不确定性,为工程决策提供更全面的依据。全文超过6000字,结合理论推导与代码实践,是应用贝叶斯方法解决实际工程问题的完整指南。 阅读详情

相关推荐

基于STM32F407ZGT6与INMP441的I2S音频采集系统:从配置到实时波形显示

本文详细介绍了基于STM32F407ZGT6与INMP441麦克风模块的I2S音频采集系统设计与实现。从硬件选型、CubeMX配置到音频数据处理和上位机波形显示,全面解析了系统架构、DMA传输优化及常见问题解决方案,帮助开发者快速构建高精度音频采集系统。

weixin_33743661的博客 403

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

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

LeonShaw_zh的博客 749

MacBook用户必看:用Homebrew一键搞定frp内网穿透(含阿里云配置模板)

本文为MacBook用户提供基于Homebrew的frp内网穿透实战指南,详细介绍了从环境准备到阿里云服务器配置的全过程。通过Homebrew一键安装frp客户端,结合阿里云配置模板,实现高效稳定的内网穿透,适用于远程开发、IoT设备调试等多种场景。

weixin_28692817的博客 321

算法导论学习笔记-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

告别玄学:用Multisim或LTspice仿真带你直观理解PFC的三种工作模式(CCM/DCM/CrM)

本文通过Multisim和LTspice仿真工具,详细解析了PFC(功率因数校正)的三种工作模式(CCM、DCM、CrM)的本质差异。从波形捕捉到参数优化,提供了实用的仿真技巧和工程实践策略,帮助工程师直观理解并优化PFC电路设计,提升THD和功率因数。

weixin_30363285的博客 395

Pika Labs vs Runway ML:零基础小白如何选择最适合自己的AI视频生成工具?

本文详细对比了Pika Labs和Runway ML两款AI视频生成工具,从操作界面、生成效果、隐藏成本、工作流适配性和未来兼容性五个维度进行分析。Pika Labs适合零基础用户快速生成社交媒体短内容,而Runway ML则更适合专业级视频制作。帮助用户根据自身需求选择最适合的AI视频生成工具。

wood5的博客 599

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

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

Justlovesmile的博客 3503

Cosmos Transfer2.5多模态AI模型部署与优化实战

多模态AI技术通过融合文本、图像、代码等不同模态数据,实现跨模态理解与生成。其核心原理基于Transformer架构的注意力机制,结合对比学习实现模态对齐。这类技术在智能内容创作、跨模态搜索等领域具有重要价值,尤其适合电商营销图文生成、UI设计转代码等场景。Cosmos Transfer2.5作为先进的多模态模型,支持8192 tokens长文本窗口和混合模态输入,实测推理速度达17.5 samples/s(T4显卡)。部署时需注意FlashAttention优化可提升3倍长文本处理效率,8-bit量化则能

weixin_29038303的博客 281

算法导论学习笔记(1)

学习资源:网易公开课:算法导论 http://open.163.com/special/opencourse/algorithms.html 运行时间:输入本身、输入size、want 运行时间上界 分析方法:1、worst-case analysis(usually): T(n):maximium time on any input of size n                  ...

yjli98的博客 204

【Tiny_CD】Tiny_CD变化检测网络详解(含python代码)

tiny-cd网络详解,含论文下载、代码下载地址。

向上生长的程序媛的博客 2161

simulink的Sine Wave 模块详解

模块是 Simulink 中的一个信号源模块,用于生成正弦波信号。该模块可以根据设定的幅值、频率、相位和偏移量,在仿真过程中产生周期性的正弦波形。模块都能提供强有力的支持。通过深入了解其参数的影响及结合 MATLAB 脚本的应用,读者可以更加有效地利用这一模块进行仿真和研究。此外,通过实际应用场景的扩展以及常见问题解答部分的帮助,能够更好地掌握。模块是一个非常实用的工具,适用于需要生成正弦波信号的各种场景。模块的参数,可以进一步增强学习体验。模块参数的影响,下面我们将详细探讨每个参数如何影响仿真结果。

xiaoheshang_123的博客 1052

算法导论学习笔记[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

鸿蒙应用发布实战:应用热更新的实现

在移动应用开发领域,应用更新是持续交付价值的关键环节。传统的应用更新方式需要用户手动下载完整安装包,不仅用户体验差,而且更新率往往不理想。热更新技术(也称为OTA更新)允许应用在不重新安装的情况下动态更新部分功能,极大提升了用户体验和迭代效率。本文专注于鸿蒙操作系统下的应用热更新实现方案,涵盖从原理到实践的完整知识体系。鸿蒙热更新的技术架构差分更新算法实现动态部署机制实际项目中的最佳实践安全与性能优化策略首先介绍鸿蒙热更新的背景和核心概念深入分析技术原理和算法实现。

操作系统内核探秘的博客 965

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

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

小木匠盖大厦 2857

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

《算法导论》学习笔记1

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

小豆豆~ 236

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

a695968902的博客 977

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

算法导论学习笔记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

【学习笔记】<算法导论>基础知识1.1

【学习笔记】<算法导论>基础知识1.1译者序Thomas H.Cormen著的《Introduction to Algotithms》是世界范围内包括MIT/CMU/Stanford/UCB/Cornell/UIUC等国际和国内等1000多所大学都作为教材或者教学参考书,它也是《高引用计算机科学文献》(Most Cited Computer Science Citations)一览表中名列前茅。书中

无敌三脚猫的专栏 1035
上一篇: uva 11853 Paintball dfs找连通块
下一篇: 算法导论学习笔记(2)-归并排序
吃掉吃掉
博客等级 码龄12年 7粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值