什么是算法?(an algorithm?)

在其最普遍的意义上,算法是从已知开始产生可预测的结束状态的任何一组详细指令。然而,算法只与给出的指令一样好,如果没有正确定义算法,结果将是不正确的。...

在其最普遍的意义上,算法是从已知开始产生可预测的结束状态的任何一组详细指令。然而,算法只与给出的指令一样好,如果没有正确定义算法,结果将是不正确的。

An algorithm in a computer program.

算法示例

算法的一个常见示例是组装模型飞机的说明。给定一系列标记件的起始集,可以按照给出的说明生成可预测的最终状态:完成的飞机。说明书中的印刷错误或未能正确遵循某一步骤将导致最终产品出现故障。

The concept of falling in love may be described as the result of a complex algorithm.

计算机程序是另一个普遍存在的例子。每一个计算机程序都只是一系列指令,其复杂程度可能有所不同,并按特定顺序列出,旨在执行特定任务。数学也使用算法手工求解方程,而不使用计算器。最后一个例子是人脑:人脑的大多数概念将所有行为——从获取食物到坠入爱河——定义为一个复杂算法的结果。

算法类

虽然对于各种类型的算法没有普遍接受的分类,但有一些算法经常被认为属于的公共类。其中包括:

  • 动态规划算法:这个类会记住旧的结果,并尝试使用它来加速寻找新结果的过程。
  • 贪婪算法:贪婪算法不仅试图找到解决方案,而且试图找到任何给定问题的理想解。
  • 蛮力算法:蛮力方法从某个随机点开始,迭代各种可能性,直到找到解决方案。
  • 随机化算法:此类包括在其过程中的任意点使用随机数的任何算法。
  • 分支和定界算法:分支和定界算法形成一个到主要问题的子问题树,跟随每个分支,直到它被解决或与另一个分支合并。
  • 简单递归算法:这种类型的算法会立即直接求解,然后回溯到更简单的解。
  • 回溯算法:回溯算法测试解决方案;如果找到了一个解决方案,算法就已经解决了,如果没有,它将递归一次并再次测试,直到找到一个解决方案为止。
  • 分治算法:分治算法类似于分枝定界算法,只是在将问题分解为子问题时使用了重复出现的回溯方法。

串行和并行算法

除了这些一般类之外,算法还可分为两个主要组:串行算法,其设计用于串行执行,其中每个操作以线性顺序执行;和并行算法,与运行并行处理器的计算机一起使用,其中许多操作彼此并行运行。并行算法也存在于自然界中,例如,物种的遗传变异。

  • 发表于 2021-12-11 09:51
  • 阅读 ( 106 )
  • 分类:互联网

你可能感兴趣的文章

适应的(adaptive)和非自适应路由算法(non adaptive routing algorithms)的区别

...应路由算法 5. 摘要 什么是自适应路由算法(adaptive routing algorithms)? 动态路由或自适应路由使用自适应算法。这些算法根据拓扑结构和网络流量改变路由决策。相邻路由器或所有路由器提供路由信息。主要的优化参数是一些跳数...

  • 发布于 2020-10-18 20:02
  • 阅读 ( 594 )

算法(algorithm)和流程图(flowchart)的区别

...列比较-算法与表格形式的流程图 6. 摘要 什么是算法(an algorithm)? 每一个任务都是根据一个算法来完成的。如果Facebook有一个这样的问题,那么它将如何在一个日志中出现。首先,用户应该打开浏览器。然后他应该输入正确的网...

  • 发布于 2020-10-19 17:44
  • 阅读 ( 855 )

算法(algorithm)和伪码(pseudocode)的区别

...区别的比较 关键术语 算法,伪代码,编程 什么是算法(algorithm)? 算法是一个逐步解决问题的过程。过程是一个有限的指令序列,每个指令在有限的时间内执行。每一个问题都可以借助一个算法来解决。例如,当用户想要登录...

  • 发布于 2021-06-30 18:03
  • 阅读 ( 890 )

普里姆斯(prims)和krushal算法(krushal algorithm)的区别

...语 图,克鲁希尔算法,PRM算法,树 什么是prims算法(prims algorithm)? Prim的算法有助于从图中找到最小生成树。它确定包含图的每个顶点的边的子集。它还减少了边的权重之和。此外,该算法从根节点开始,在每一步检查所有相邻...

  • 发布于 2021-07-01 11:09
  • 阅读 ( 243 )

遗传算法(genetic algorithm)和传统算法(traditional algorithm)的区别

...、搜索、排序、分治、传统算法 什么是遗传算法(genetic algorithm)? 遗传算法是指基于遗传和自然选择的一类算法。这与物种适应环境变化并能够生存的过程相似。换句话说,它是建立在生物进化的基础上的。 此外,该算法不断...

  • 发布于 2021-07-01 15:41
  • 阅读 ( 242 )

剩下的一天:谷歌调整他们的算法以获得更好的结果,lifehacker六岁了

...am, and we've enjoyed every second of it. Thanks for reading! [@lifehacker]Algorithm change launched Google's altered their search algorithm to rank the original source of content higher—a change that will hopefully help fight their battle against splogs. [Matt Cutts]Skype 5 for Mac intentionally ...

  • 发布于 2021-07-25 07:57
  • 阅读 ( 83 )

流程图(flowchart)和算法(带图片)(algorithm (with pictures))的区别

...之前,他必须在几分钟内检查流程图。 什么是算法(an algorithm)? 算法是一个定义良好的逐步过程,用于处理数据(为特定问题提供解决方案)。Analogrithm准确地定义了程序执行操作所需的步骤。它包括输入、输出和逻辑...

  • 发布于 2021-11-27 16:25
  • 阅读 ( 320 )

什么是密码算法?(cryptographic algorithms?)

密码算法是一系列过程或规则,用于在密码系统中对消息进行加密和解密。简单地说,它们是通过确保不需要的人不能访问数据来保护数据的过程。这些算法有着广泛的用...

  • 发布于 2021-12-07 12:03
  • 阅读 ( 167 )

什么是数据挖掘算法?(data mining algorithms?)

数据挖掘算法是用于识别数据集中的模式和趋势的编程查询和程序。数据挖掘的主要用途是根据客户的实际活动确定客户需求和偏好。尽管这些信息是基于过去的表现,但...

  • 发布于 2021-12-08 16:46
  • 阅读 ( 141 )

什么是图像处理算法?(image processing algorithms?)

图像处理算法利用计算机算法来操作硬件和软件,从而对图像处理产生比模拟图像处理更大的控制。它们用几种语言编写,并根据用途和目的使用不同的算法。图像处理不...

  • 发布于 2021-12-08 17:33
  • 阅读 ( 124 )
nvlbr720628
nvlbr720628

0 篇文章