美文网首页PHP高级技能php面试题
什么是算法,一些常用的算法实现

什么是算法,一些常用的算法实现

作者: 焚_44b3 | 来源:发表于2018-12-28 07:48 被阅读7次

    算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对 一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。

    优劣

    时间复杂度(T(n)=Ο(f(n)))和空间复杂度(S(n)=O(f(n)))。

    特征

    • 有穷性 :步骤有限
    • 确切性:每一步有确切的定义
    • 输入项
    • 输出项
    • 可行性:有限时间

    实现算法的方法

    • 递推法
    • 递归法
    • 穷举法
    • 贪心算法
    • 分治法
    • 动态规划法
    • 迭代法
    • 分支界限法
    • 回溯法

    分类

    算法可大致分为基本算法、数据结构的算法、数论与代数算法、计算几何的算法、图论的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法,厄米变形模型,随机森林算法。
    算法可以宏泛的分为三类:
    一,有限的,确定性算法 这类算法在有限的一段时间内终止。他们可能要花很长时间来执行指定的任务,但仍将在一定的时间内终止。这类算法得出的结果常取决于输入值。
    二,有限的,非确定算法 这类算法在有限的时间内终止。然而,对于一个(或一些)给定的数值,算法的结果并不是唯一的或确定的。
    三,无限的算法 是那些由于没有定义终止定义条件,或定义的条件无法由输入的数据满足而不终止运行的算法。通常,无限算法的产生是由于未能确定的定义终止条件。

    php在线面试题集:http://cainiaophp.com/
    php面试讨论群:536633782

    相关文章

      网友评论

        本文标题:什么是算法,一些常用的算法实现

        本文链接:https://www.haomeiwen.com/subject/eeqllqtx.html