算法

算法是指解决问题的一组指令。它可以是找到两个数字的总和的简单过程,也可以是压缩视频文件的复杂操作。

在计算机编程中,算法告诉计算机该怎么做。它是用计算机可以理解和遵循的编程语言编写的。通常,这些算法写为函数,大程序将其用于参考。例如,照片编辑程序包含用于处理图像数据的各种说明。这些算法使程序能够调整,模糊或锐化照片。

算法并不新鲜。毕竟,它们只是数学说明。1952年,被庆祝为现代计算的父亲的艾伦·图灵(Alan Turing)出版了算法,以发现自然界的模式。


为什么我们需要算法?

算法无处不在,增强了人类生活的各个领域。这些说明为小工具提供动力,使设备能够识别您的面部,响应语音命令或对文件进行排序。他们还为应用程序和社交媒体网络。以Facebook为例,它使用复杂的算法来确定您每天在新闻源中看到的内容。

但是,使用算法的不仅仅是Facebook。其他科技巨头,例如Google,Netflix,tiktok,和亚马逊,还使用这些来个性化您的体验。算法可以使日常任务更快,更简单。它们还可以使您更容易整理大型数据集,以快速查找关键信息。

这是算法的一些现实应用程序:

  • 自动驾驶汽车
  • 搜索引擎
  • 自动化软件
  • 社交媒体
  • 视频压缩

计算机算法如何工作?

并非所有分步过程都可以称为算法。

使用输入和输出值算法函数。他们收集输入,然后在每个步骤上应用这些值以生成特定的输出。例如,搜索引擎可以使用搜索查询作为输入值。他们搜索数据库以获取相关信息。然后,将输出值作为搜索结果提供。

良好的算法必须包含以下特征:

  • 精确的

为了使计算机了解算法,必须高度详细。这就是为什么编程可能非常耗时且昂贵的原因。

在传统编程中,算法必须具有特定且明确的说明。程序员必须指定将输入转换为输出的步骤。每个步骤都必须导致确定的结果。

但是,有一些例外。当涉及到使用一些最复杂的算法的机器学习时,计算机会发现其自己的算法。程序员最初用原始数据为其馈送。然后,取决于程序,发现如何从A点移动到B点。

  • 输入

声音算法必须包含0或更多定义明确的输入值。

  • 输出

每种算法都至少产生一个定义明确的输出,这与所需的结果匹配。

  • 有限

算法包含有限数量的说明。执行所有步骤后,它将停止。它可能会在实现预期输出或无需其他解决方案时停止。

  • 可行的

良好的算法必须能够使用可用资源执行任务,而无需错误。188金宝慱网站它应该消除可能使过程失败的不必要或冗余步骤。

  • 高效的

算法不应占用太多空间或时间。但是,在大多数情况下,空间和时间之间都有一个权衡。

  • 独立的

算法的分步说明不取决于任何编程代码。这意味着即使没有编程知识,您也应该能够理解算法。这也意味着您可以在任何编程语言上运行算法。


算法的类型

算法可以具有不同类型的控制结构。您可以根据这些结构将它们分为三类。

  • 顺序

顾名思义,这种类型的算法使用了导致所需输出的一系列步骤。每个步骤都设计为一个接一个地执行。

  • 分枝

“如果然后”问题代表分支控制结构。如果例如,算法是正确的,它将导致输出A。如果是错误的,则其输出将为B。该结构也被称为选择类型。

  • 环形

循环结构允许在特定条件下重复。它需要诸如“ for”和“ while”之类的术语。即使可以重复该过程,它最终将在多个循环后结束。该结构通常称为重复类型。

Baidu