日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

計算機編程算法和數(shù)學有什么關(guān)系?

 星光閃亮圖書館 2019-09-05

數(shù)學對于計算機算法編程來說非常重要。我主要從下面兩個方面來說明它為何這么重要

一. 培養(yǎng)邏輯思維能力

數(shù)學和算法編程都需要較強的邏輯思維能力,程序代碼的邏輯結(jié)構(gòu)、前后聯(lián)系及處理方式都需要較強的邏輯思維能力,而數(shù)學學得好,邏輯思維能力強,通常算法編程領(lǐng)悟也會更深。

二. 數(shù)學應(yīng)用于算法編程

這一點應(yīng)該是數(shù)學與算法編程比較相關(guān)的重要原因,無論是計算機的底層還是非底層,數(shù)學知識到處都有體現(xiàn)。例如計算機底層的二進制、機器學習和深度學習的梯度推導、SVD分解、張量分解、PCA求特征值、優(yōu)化問題、密碼學的大數(shù)分解、概率圖模型等等都是與數(shù)學特別相關(guān)。下面我隨便舉兩個例子,可以自己體會

例1: 給定一個數(shù)x,開平方并取倒數(shù)。

代碼實現(xiàn)如下

這是當年的經(jīng)典游戲雷神之錘3里面的代碼,經(jīng)測試這段代碼比(float)(1.0/sqrt(x))快4倍,計算性能有質(zhì)的飛躍。為此還專門有一篇論文《Fast Inverse Square Root》講解這個代碼的數(shù)學原理,感興趣的同學可以找一下這篇文章研究一下。

例2:給定一個數(shù)n,n可能非常大,比如10的18次方這么大,求x^2+y^2=n的解。

如果不用數(shù)學知識,直接暴力搜索,時間復雜度為O(n),效率低下,而且按目前的計算機水平也很難算出來。如果了解Brahmagupta–Fibonacci identity、Pollard-rho分解法、二次同余方程的解、歐幾里德輾轉(zhuǎn)相除等數(shù)學知識,那么求解這個問題的時間復雜度大大降低,保證0.2秒內(nèi)出結(jié)果。

如果工作是算法崗位,數(shù)學更加特別重要,因為機器學習、數(shù)據(jù)挖掘、NLP等方向的底層原理基本都與數(shù)學脫離不開關(guān)系。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多