【学习】程序、数据结构和算法的概念理解

2024-07-10  本文已影响0人  老k的小茅屋

算法,是一组输入转化为一组输出的一系列计算步骤,每个步骤要在有限的时间内完成。

算法,是规则的有限集合,是解决“做什么”和“怎么做”的问题。

注意,算法是用来解决一类(特定)问题而规定的一系列操作,注意是一类问题而不是一个特定的问题。

算法的目的是为了求解,“解”就是“输出”,没有输出的算法是没有意义的。

例如一个排序算法应该能对任意一组数据进行排序,它具有一定的通用性。

又如,DFS算法(深度优先搜索),我们在刷题时会经常遇到使用DFS的方法进行解题。在搜索问题的解时,走进了死胡同,则需要退回来从另一条路继续搜索(这种思想称为“回溯”)。


数据结构是数据的组织方式,包含存储方式和访问方式两层意思

一个问题中数据的存储方式和访问方式就决定了解决问题可以采用什么样的算法,要设计算法就要同时设计相应的数据结构来支持这种算法。

所以,简单来说,算法 + 数据结构 = 程序

如“堆栈”这种数据结构的特点,可以概括为LIFO,即后进先出,例如函数调用的参数、局部变量的存储空间;

又如“队列”这种数据结构的特点,可以概括为FIFO,即先进先出,有时候队列本身也被称为FIFO。

总结:有什么样的算法就决定了可以用什么样的数据结构;有什么样的数据结构就决定了可以用什么样的算法。设计算法和设计数据结构这两件工作是紧密相连的。


总结:程序 = 算法 + 数据结构 + 程序设计方法 + 语言工具和环境

上一篇 下一篇

猜你喜欢

热点阅读