一文了解计算机领域中的算法

开发
算法(algorithm)是一个非常广泛的概念,在不同的领域有不同的含义。在计算机领域中,算法也有其特定的含义而不是普遍意义上理解的应用级算法。

算法(algorithm)是一个非常广泛的概念,在不同的领域有不同的含义。在计算机领域中,算法也有其特定的含义而不是普遍意义上理解的应用级算法。

计算机科学中,算法是用于解决特定问题或执行特定任务的一个清晰、精确、有限的指令集合。算法执行后必然产生一个或多个结果,为了获得结果,每个算法还会有零个或多个输入内容作为前置条件。算法的清晰性是指每个步骤都没有歧义;精确性是指每次的执行结果都一样;有限性是算法在有限的步骤内可以执行完成。

为了清晰的表达算法,可以用两种方式对算法进行描述:伪代码和流程图。伪代码是一种结构化的文章描述,介于自然语言和符号化的编程语言之间。它与代码十分接近,但并不考虑开发语言执行过程中的细节,例如:内存管理、数据存储等。流程图用几种图形表示不同的计算机操作,再用线条将这些操作连接到一起,形成操作的执行顺序。

伪代码和流程图示意图伪代码和流程图示意图

评估算法包括时间复杂度和空间复杂度。时间复杂度指当待解决的问题规模扩大时,所消耗的时间按什么比例进行增长。最理想的复杂度是O(1),运行时间与问题规模无关是一个常数时间。但更多的时候时间会按照线性增长O(n)或指数级增长O(n^2),我们需要通过算法将时间复杂度降低到O(log n)或O(nlog n)。降低时间复杂度的最有效办法就是增加空间复杂度,算法的设计就是不断的平衡时间和空间复杂度。

计算机算法的最终目的是解决数据的查询问题,为了能够快速进行查询就需要对数据进行“排序”等预处理,并且配合数据结构解决数据之间的组织关系和数据存储问题。不同的数据结构决定着可采用的算法。因此衍生出,树形存储结构的深度优先搜索(DFS)和广度优先搜索(BFS);数组和链表存储结构的冒泡排序、快速排序和归并排序等。

算法的含义还有很多,它们都是在不同领域用于解决特定问题的方法。作为应用类的AI算法就包括图像识别算法、语音识别算法以及当下最火的LLM大语言模型和可以生成动画的SORA模型。

责任编辑:华轩 来源: 数字随行
相关推荐

2019-03-14 12:51:47

云计算云平台公有云

2023-02-18 18:33:08

计算机前世今生

2022-08-19 09:24:46

计算机技术

2022-10-24 14:03:24

云计算IT托管服务

2024-02-04 09:44:41

量子计算量子量子物理

2021-04-06 15:23:46

区块链国防技术

2019-10-08 17:23:09

AWS物联网IoT

2020-08-27 07:34:50

Zookeeper数据结构

2022-03-14 08:01:06

LRU算法线程池

2017-03-16 15:28:20

人工智能视觉识别

2024-02-01 11:57:31

this指针代码C++

2023-04-26 15:43:24

容器编排容器编排工具

2023-11-20 08:18:49

Netty服务器

2022-02-25 07:34:36

MQTT协议RabbitMQ

2023-11-06 08:16:19

APM系统运维

2022-06-08 08:11:56

威胁建模网络安全网络攻击

2022-11-11 19:09:13

架构

2023-12-26 07:33:45

Redis持久化COW

2022-10-28 13:48:24

Notebook数据开发机器学习

2020-08-12 14:18:33

计算机Linux互联网
点赞
收藏

51CTO技术栈公众号