好文部

作文范文
知识百科

什么是算法?哪些可以称为算法

moe-595959_640 (2).png

从最一般的意义上讲,算法是一组详细的指令,可以从已知的开始就产生可预测的最终状态。算法仅与给定的指令一样好,但是,如果未正确定义算法,则结果将不正确。

1.png

算法实例
算法的一个常见示例是组装模型飞机的指令。给定一系列标记零件的开始位置,就可以按照给出的指示完成可预测的最终状态:完成的飞机。说明中的打印错误或未能正确执行步骤,将导致最终产品出现故障。

计算机程序是另一个普遍的例子。每个计算机程序只是一系列指令,它们的复杂程度可能有所不同,并且以特定顺序列出,旨在执行特定任务。数学还使用算法来手动求解方程,而无需使用计算器。最后一个例子是人脑:由于复杂的算法,人脑的大多数概念都定义了所有行为-从获取食物到坠入爱河。

算法类别
尽管没有针对各种类型的算法的普遍接受的细分,但是通常会同意算法属于一些常见的类。其中包括:

动态编程算法: 此类会记住较早的结果,并尝试使用该结果来加快寻找新结果的过程。
贪婪算法: 贪婪算法不仅试图找到解决方案,而且试图找到任何给定问题的理想解决方案。
蛮力算法: 蛮力方法从某个随机点开始,并遍历所有可能性,直到找到解决方案为止。
随机算法: 此类包括在过程中的任何时候使用随机数的任何算法。
分支和边界算法: 分支和边界算法形成主要问题的子问题树,紧随每个分支,直到被求解或与另一个分支融合。
简单递归算法: 此类型立即用于直接解决方案,然后回溯以找到更简单的解决方案。
回溯算法: 回溯算法测试解决方案;如果找到了解决方案,则算法已解决;否则,算法将重复执行一次并再次进行测试,直到找到解决方案为止。
分而治之算法:分而治之算法与分支和界限算法相似,不同之处在于它使用了将问题划分为子问题的重复发生的回溯方法。
串行和并行算法
除了这些通用类外,算法还可分为两个主要组:串行算法,设计用于串行执行,其中每个操作以线性顺序执行;和并行算法,与运行并行处理器的计算机一起使用,其中许多操作彼此并行运行。例如,在物种上进行基因突变的情况下,自然世界中也存在并行算法。

好文部所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系tqzyw@163.com,我们将立即删除,感谢您的支持!