人工智能程序員入門應(yīng)該學(xué)哪些算法?
人工智能這么火,算法是核心要義,應(yīng)該從哪些開始學(xué)習(xí)入門呢?
初期
一.基本算法:
枚舉.
遞歸和分治法.
遞推.
二.圖算法:
圖的深度優(yōu)先遍歷和廣度優(yōu)先遍歷.
最短路徑算法
最小生成樹算法
二分圖的最大匹配 (匈牙利算法)
最大流的增廣路算法(KM算法).
三.數(shù)據(jù)結(jié)構(gòu).
串
排序(快排、歸并排(與逆序數(shù)有關(guān))、堆排)
簡(jiǎn)單并查集的應(yīng)用.
哈希表和二分查找等高效查找法(數(shù)的Hash,串的Hash)
哈夫曼樹
堆
trie樹(靜態(tài)建樹、動(dòng)態(tài)建樹)
四.簡(jiǎn)單搜索
深度優(yōu)先搜索
廣度優(yōu)先搜索
簡(jiǎn)單搜索技巧和剪枝
五.動(dòng)態(tài)規(guī)劃
背包問題.
簡(jiǎn)單DP (最長(zhǎng)公共子序列) (最優(yōu)二分檢索樹問題)
六.數(shù)學(xué)
組合數(shù)學(xué): 1.加法原理和乘法原理. 2.排列組合. 3.遞推關(guān)系.
數(shù)論. 1.素?cái)?shù)與整除問題 2.進(jìn)制位. 3.同余模運(yùn)算.
計(jì)算方法. 1.二分法求解單調(diào)函數(shù)相關(guān)知識(shí)
七.計(jì)算幾何學(xué).
幾何公式.
叉積和點(diǎn)積的運(yùn)用(如線段相交的判定,點(diǎn)到線段的距離等).
多邊型的簡(jiǎn)單算法(求面積)和相關(guān)判定(點(diǎn)在多邊型內(nèi),多邊型是否相交)
凸包.
中級(jí):
一.基本算法:
C++的標(biāo)準(zhǔn)模版庫的應(yīng)用.
二.圖算法:
差分約束系統(tǒng)的建立和求解.
最小費(fèi)用最大流
雙連通分量
強(qiáng)連通分支及其縮點(diǎn).
圖的割邊和割點(diǎn)
最小割模型、網(wǎng)絡(luò)流規(guī)約
三.數(shù)據(jù)結(jié)構(gòu).
線段樹.
靜態(tài)二叉檢索樹.
樹狀樹組
RMQ.
并查集的高級(jí)應(yīng)用.
KMP算法.
四.搜索
最優(yōu)化剪枝和可行性剪枝
搜索的技巧和優(yōu)化
記憶化搜索
五.動(dòng)態(tài)規(guī)劃
較為復(fù)雜的動(dòng)態(tài)規(guī)劃(如動(dòng)態(tài)規(guī)劃解特別的旅行商TSP問題等)
記錄狀態(tài)的動(dòng)態(tài)規(guī)劃.
樹型動(dòng)態(tài)規(guī)劃(
六.數(shù)學(xué)
組合數(shù)學(xué): 1.容斥原理. 2.抽屜原理. 3.置換群與Polya定理4.遞推關(guān)系和母函數(shù).
數(shù)學(xué). 1.高斯消元法2.概率問題. 3.GCD、擴(kuò)展的歐幾里德(中國(guó)剩余定理)
隨機(jī)化算法
七.計(jì)算幾何學(xué).
坐標(biāo)離散化.
掃描線算法(例如求矩形的面積和周長(zhǎng)并,常和線段樹或堆一起使用)
幾何工具的綜合應(yīng)用.
高級(jí):
一.基本算法要求:
代碼快速寫成,精簡(jiǎn)但不失風(fēng)格
保證正確性和高效性.
二.圖算法:
度限制最小生成樹和第K最短路.
最短路,最小生成樹,二分圖,最大流問題的相關(guān)理論(主要是模型建立和求解)
小生成樹.
無向圖、有向圖的最小環(huán)
三.數(shù)據(jù)結(jié)構(gòu).
trie圖的建立和應(yīng)用.
LCA和RMQ問題(LCA(最近公共祖先問題) 有離線算法(并查集+dfs) 和 在線算法
雙端隊(duì)列和它的應(yīng)用(維護(hù)一個(gè)單調(diào)的隊(duì)列,常常在動(dòng)態(tài)規(guī)劃中起到優(yōu)化狀態(tài)轉(zhuǎn)移的目的).
左偏樹(可合并堆).
四.搜索
廣搜的狀態(tài)優(yōu)化:利用M進(jìn)制數(shù)存儲(chǔ)狀態(tài)、轉(zhuǎn)化為串用hash表判重、按位壓縮存儲(chǔ)狀態(tài)、雙向廣搜、A*算法.
深搜的優(yōu)化:盡量用位運(yùn)算、一定要加剪枝、函數(shù)參數(shù)盡可能少、層數(shù)不易過大、可以考慮雙向搜索或者是輪換搜索、IDA*算法.
五.動(dòng)態(tài)規(guī)劃
需要用數(shù)據(jù)結(jié)構(gòu)優(yōu)化的動(dòng)態(tài)規(guī)劃.
四邊形不等式理論.
較難的狀態(tài)DP
六.數(shù)學(xué)
組合數(shù)學(xué). 1.MoBius反演2.偏序關(guān)系理論.
博奕論. 1.極大極小過程2.Nim問題.
七.計(jì)算幾何學(xué).
半平面求交
可視圖的建立
點(diǎn)集最小圓覆蓋.
最后,記得關(guān)注微信公眾號(hào):鎂客網(wǎng)(im2maker),更多干貨在等你!
硬科技產(chǎn)業(yè)媒體
關(guān)注技術(shù)驅(qū)動(dòng)創(chuàng)新
