Day3 算法基本要素

简介: Day3 算法基本要素

既然我要学算法,那我就得知道,到底算法是什么?今天我们来聊一下,什么是一个算法(Algorithm)?难道程序就等于算法么?

首先我们可以看一下下面两张图对算法的定义


算法(Algorithm)

2021012219372667.png

算法是解决问题的明确指令序列,满足以下要求

(1) Input: O个或多个有效的输入值(2)输出:至少产生一个值明确的:每条指令/每一步都清楚、准确、明确地规定了(4)有限性:指令有限,每条指令的执行时间有限,每条指令的运行时间有限

(1)输入: 0个或多个有效的输入值

(2)输出:至少输出一个有效值

(3)明确:每条指令/每一步都清楚、准确

(4)有穷性:指令有限,每条指令的执行时间有限,每条指令的运行时间有限


程序(Program)


20210122193917661.png


程序


  • 基于该算法的问题解决方案的实现编码
  • 可以无限执行
  • 如操作系统:不是一个算法,而是一个根据具体算法无限循环运行的程序
  • 可以将每个任务视为子程序


总结


总是有很多人说要学算法,但是他们总是无法弄清楚算法到底是什么,只知道这是一个很不错的东西,但是不明白,只知道去写,认为自己能打程序就说明自己很懂算法了

这里我想借用一句话和两个公式大概可以回答什么是算法以及程序和算法的区别


Computer science should be called computing science, for the same reason why surgery is not called knife science.


我理解的算法本质是计算机模型


Algorithms + Data Structures = Programs

算法 + 数据结构 = 程序

(Algorithms + Data Structures) * Efficiency = Computation


数据结构是一种存储和组织数据的方式,旨在便于访问和修改。


我们常见会见到一个问题,如果将一个大学放进冰箱里,其实很简单,只需要三步即可

1.打开冰箱

2.把大象放进冰箱

3.关上冰箱

这也是一个简单的算法哦


20210122195325701.png


补充


根据清华大学邓俊辉老师的解释,算法的特质包括但不限于这些:


20210122194713358.png


每日一句

Those who turn back never reach the summit.(回头的人永远到不了最高峰!)

相关文章
|
8月前
|
机器学习/深度学习 人工智能 算法
【机器学习】模型、算法与数据—机器学习三要素
【机器学习】模型、算法与数据—机器学习三要素
545 0
|
算法
遗传算法五大基本要素——参数编码、群体设定
遗传算法主要借用生物进化中的“适者生存”的规律。 遗传算法包括两个数据转换操作,一个是从表现型到基因型的转换,将搜索空间中的`参数或解`转化成遗传空间中的`染色体或者个体`,这个过程叫做编码(coding)。另一个就是从基因型到变现型的转换,即将个体转换成搜索空间中的参数,这个过程叫做解码(decode)。 遗传算法中包含了五个基本要素:参数编码,初始群体的设定,适应度函数的设计;遗传操作设计和控制参数设定。 由于遗传算法不能直接处理问题空间的参数,因此,必须通过编码将要求解的问题表示成遗传空间的染色体或者个体。它们由基因按一定的结构组成。由于遗传算法的健壮性,对编码的要求并不苛刻。对一
1022 0
|
1天前
|
传感器 算法
基于GA遗传算法的多机无源定位系统GDOP优化matlab仿真
本项目基于遗传算法(GA)优化多机无源定位系统的GDOP,使用MATLAB2022A进行仿真。通过遗传算法的选择、交叉和变异操作,迭代优化传感器配置,最小化GDOP值,提高定位精度。仿真输出包括GDOP优化结果、遗传算法收敛曲线及三维空间坐标点分布图。核心程序实现了染色体编码、适应度评估、遗传操作等关键步骤,最终展示优化后的传感器布局及其性能。
|
2天前
|
机器学习/深度学习 算法 安全
基于深度学习的路面裂缝检测算法matlab仿真
本项目基于YOLOv2算法实现高效的路面裂缝检测,使用Matlab 2022a开发。完整程序运行效果无水印,核心代码配有详细中文注释及操作视频。通过深度学习技术,将目标检测转化为回归问题,直接预测裂缝位置和类别,大幅提升检测效率与准确性。适用于实时检测任务,确保道路安全维护。 简介涵盖了算法理论、数据集准备、网络训练及检测过程,采用Darknet-19卷积神经网络结构,结合随机梯度下降算法进行训练。
|
3天前
|
算法 数据可视化 数据安全/隐私保护
一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法
本课题基于MATLAB对一级倒立摆控制系统进行升级仿真,增加了PI、PD控制器,并对比了极点配置、线性二次型、PID、PI及PD五种算法的控制效果。通过GUI界面显示倒立摆动画和控制输出曲线,展示了不同控制器在偏转角和小车位移变化上的性能差异。理论部分介绍了倒立摆系统的力学模型,包括小车和杆的动力学方程。核心程序实现了不同控制算法的选择与仿真结果的可视化。
31 15
|
3天前
|
算法
基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真
本程序基于海鸥优化算法(SOA)进行三维曲面最高点搜索的MATLAB仿真,输出收敛曲线和搜索结果。使用MATLAB2022A版本运行,核心代码实现种群初始化、适应度计算、交叉变异等操作。SOA模拟海鸥觅食行为,通过搜索飞行、跟随飞行和掠食飞行三种策略高效探索解空间,找到全局最优解。
|
4天前
|
算法 数据安全/隐私保护 计算机视觉
基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
本项目展示了256×256图像通过双线性插值放大至512×512的效果,无水印展示。使用Matlab 2022a和Vivado 2019.2开发,提供完整代码及详细中文注释、操作视频。核心程序实现图像缩放,并在Matlab中验证效果。双线性插值算法通过FPGA高效实现图像缩放,确保质量。
|
5天前
|
机器学习/深度学习 数据采集 算法
基于GWO灰狼优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a,展示了时间序列预测算法的运行效果(无水印)。核心程序包含详细中文注释和操作视频。算法采用CNN-GRU-SAM网络,结合灰狼优化(GWO),通过卷积层提取局部特征、GRU处理长期依赖、自注意力机制捕捉全局特征,最终实现复杂非线性时间序列的高效预测。
|
5天前
|
传感器 算法 物联网
基于粒子群算法的网络最优节点部署优化matlab仿真
本项目基于粒子群优化(PSO)算法,实现WSN网络节点的最优部署,以最大化节点覆盖范围。使用MATLAB2022A进行开发与测试,展示了优化后的节点分布及其覆盖范围。核心代码通过定义目标函数和约束条件,利用PSO算法迭代搜索最佳节点位置,并绘制优化结果图。PSO算法灵感源于鸟群觅食行为,适用于连续和离散空间的优化问题,在通信网络、物联网等领域有广泛应用。该算法通过模拟粒子群体智慧,高效逼近最优解,提升网络性能。
|
1月前
|
算法 数据安全/隐私保护 计算机视觉
基于Retinex算法的图像去雾matlab仿真
本项目展示了基于Retinex算法的图像去雾技术。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释和操作步骤视频。Retinex理论由Edwin Land提出,旨在分离图像的光照和反射分量,增强图像对比度、颜色和细节,尤其在雾天条件下表现优异,有效解决图像去雾问题。

热门文章

最新文章