算法与程序有何区别和联系?

算法与程序有何区别和联系?,第1张

联系:程序是计算机指令的有序集合,是算法用某种程序设计语言的表述,是算法在计算机上的具体实现。

区别:

一、形式不同

1、算法:算法在描述上一般使用半形式化的语言。

2、程序:程序是用形式化的计算机语言描述的。

二、性质不同

1、算法:算法是解决问题的步骤。

2、程序:程序是算法的代码实现。

三、特点不同

1、算法:算法要依靠程序来完成功能。

2、程序:程序需要算法作为灵魂。

数据结构:线性(Linear)、树型(Tree)、图(Graph)

算法:排序(Sort)、查找(Search)、枚举(Enum)等等...

算法解决的是数据结构中的“增删改查”,数据结构为的是让计算机理解我们需要解决的问题是什么东西。

一个问题,让计算机理解它是什么,然后我们通过‘增删改查’来达到解决问题的期望。

框架(framework)这个在2000年之前,其实计算机软件开发当中并不怎么使用这个词,那个时候我们经常会说的是库,SDK,API,例如:Win32 API,游戏开发中,我们也不叫框架,叫“引擎”,后来2000年后才逐步的开始使用这个名词。框架实际上是利用设计模式,将某类型软件开发中的常见问题,常用功能进行"封装"(框架名词与OOP关系很深)以达到更好的代码复用率(少写代码),并且让程序的设计工作以框架为主干(骨骼)进行扩展和开发,也就是给你画个框框,你的开发在这个框框中,框架决定你的开发模式、框架中提供的API决定了你编码方式(接口),所谓的框架无非是利用了所谓的23种常见“软件设计模式”中的一些模式来组织代码,然后让使用框架的人,陷入这个条条框框中,按照对方给你的API来进行软件开发。

好处就是:标准化、简单化

坏处就是:(依赖)框架的人,严格来说都是程序搬砖工而已

从开发成本的角度来看,框架可以缩短我们的开发周期,但从学习的角度来看,还不如深入的去了解数据结构与算法以及设计模式,我们可以使用框架,但不要依赖框架。

数据结构:就是让基本数据类型和复合数据类型以某种结构化的组织方式在计算机上进行数据的存储,而算法就是我们如何利用这些结构化的数据来解决实际问题方法。

计算就是一个IO设备,input ->(CPU、Memory、Storage) ->output

数据结构解决如何组织数据的输入、数据的存储、数据的输出

算法解决如何输入、如何处理数据计算、如何输出

数据结构与算法是(心法),设计模式是(内功),编程语言是(招式)

没有心法,内功等于0,招式就是假把式

有了心法,内功才有依靠,有了心法和内功,招式才能产生效果!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11550274.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存