第87章 你会数学吗?-《程序员修真之路》


    第(1/3)页

    87.

    “要设计一个算法,首先需要注意计算机算法所拥有的3个特征。”

    “1、有穷性。一个算法必须在有穷步骤后停止,无穷算法是没有意义的,因为得不到结果。”

    “2、确切性。算法的每一个步骤都要有明确的定义,在任何场景下指令都应当没有歧义。”

    “3、有效性。一个算法被设计用以解决某个问题,那么它就应当能解决这个问题,并且仅仅使用纸和笔就能证明该算法是收敛的。”

    算老听完后,被激发起好奇心,追问道:“那具体要怎么设计呢?”

    程理挠了挠头,道:“这个问题就太大了。

    “你会微积分吗?会线性代数吗?”

    “啊?”算老一脸懵逼道。

    “这是算学的某些基础知识。

    “除了这些基础知识,你想要设计各种各样算法,就需要学会各种各样的高等算学知识。

    “比如,你需要会数论、组合数学、图论……

    “像资源优化模型需要运筹学,加密算法则需要抽象代数。”

    “更别说像图像算法、人工智能、机器学习、这些比较困难的算法,几乎囊括了所有基础数学和应用数学的知识,比如:泛函分析,变分学,控制论,微分方程,等等……”

    “至于像统计学、概率学,对大部分算法来说都是必不可少的知识。”

    “更高级点,像离散数学,同调代数、拓扑学,也都是需要学习的……”

    “总而言之,算法设计这一块的东西归根结底就是数学,想要学习算法设计,就要学好数学。”

    程理看着算老,一副风轻云淡的表情。

    而算老、大长老,甚至方小纯,此刻完全是一副完全听不懂,但感觉好厉害的表情。
    第(1/3)页