算法是指解决问题的一组指令。它可以是找到两个数字的总和的简单过程,也可以是压缩视频文件的复杂操作。
在计算机编程中,算法告诉计算机该怎么做。它是用计算机可以理解和遵循的编程语言编写的。通常,这些算法写为函数,大程序将其用于参考。例如,照片编辑程序包含用于处理图像数据的各种说明。这些算法使程序能够调整,模糊或锐化照片。
算法并不新鲜。毕竟,它们只是数学说明。1952年,被庆祝为现代计算的父亲的艾伦·图灵(Alan Turing)出版了算法,以发现自然界的模式。
为什么我们需要算法?
算法无处不在,增强了人类生活的各个领域。这些说明为小工具提供动力,使设备能够识别您的面部,响应语音命令或对文件进行排序。他们还为应用程序和社交媒体网络。以Facebook为例,它使用复杂的算法来确定您每天在新闻源中看到的内容。
但是,使用算法的不仅仅是Facebook。其他科技巨头,例如Google,Netflix,tiktok,和亚马逊,还使用这些来个性化您的体验。算法可以使日常任务更快,更简单。它们还可以使您更容易整理大型数据集,以快速查找关键信息。
这是算法的一些现实应用程序:
- 自动驾驶汽车
- 搜索引擎
- 自动化软件
- 社交媒体
- 视频压缩
计算机算法如何工作?
并非所有分步过程都可以称为算法。
使用输入和输出值算法函数。他们收集输入,然后在每个步骤上应用这些值以生成特定的输出。例如,搜索引擎可以使用搜索查询作为输入值。他们搜索数据库以获取相关信息。然后,将输出值作为搜索结果提供。
良好的算法必须包含以下特征:
- 精确的
为了使计算机了解算法,必须高度详细。这就是为什么编程可能非常耗时且昂贵的原因。
在传统编程中,算法必须具有特定且明确的说明。程序员必须指定将输入转换为输出的步骤。每个步骤都必须导致确定的结果。
但是,有一些例外。当涉及到使用一些最复杂的算法的机器学习时,计算机会发现其自己的算法。程序员最初用原始数据为其馈送。然后,取决于程序,发现如何从A点移动到B点。
- 输入
声音算法必须包含0或更多定义明确的输入值。
- 输出
每种算法都至少产生一个定义明确的输出,这与所需的结果匹配。
- 有限
算法包含有限数量的说明。执行所有步骤后,它将停止。它可能会在实现预期输出或无需其他解决方案时停止。
- 可行的
良好的算法必须能够使用可用资源执行任务,而无需错误。188金宝慱网站它应该消除可能使过程失败的不必要或冗余步骤。
- 高效的
算法不应占用太多空间或时间。但是,在大多数情况下,空间和时间之间都有一个权衡。
- 独立的
算法的分步说明不取决于任何编程代码。这意味着即使没有编程知识,您也应该能够理解算法。这也意味着您可以在任何编程语言上运行算法。
算法的类型
算法可以具有不同类型的控制结构。您可以根据这些结构将它们分为三类。
- 顺序
顾名思义,这种类型的算法使用了导致所需输出的一系列步骤。每个步骤都设计为一个接一个地执行。
- 分枝
“如果然后”问题代表分支控制结构。如果例如,算法是正确的,它将导致输出A。如果是错误的,则其输出将为B。该结构也被称为选择类型。
- 环形
循环结构允许在特定条件下重复。它需要诸如“ for”和“ while”之类的术语。即使可以重复该过程,它最终将在多个循环后结束。该结构通常称为重复类型。