訂閱
糾錯
加入自媒體

人工智能程序員入門應該學哪些算法?

2017-12-15 11:02
來源: 鎂客網

  中級:

  一.基本算法:

  C++的標準模版庫的應用.

  二.圖算法:

  差分約束系統的建立和求解.

  最小費用最大流

  雙連通分量

  強連通分支及其縮點.

  圖的割邊和割點

  最小割模型、網絡流規(guī)約

  三.數據結構.

  線段樹.

  靜態(tài)二叉檢索樹.

  樹狀樹組

  RMQ.

  并查集的高級應用.

  KMP算法.

  四.搜索

  最優(yōu)化剪枝和可行性剪枝

  搜索的技巧和優(yōu)化

  記憶化搜索

  五.動態(tài)規(guī)劃

  較為復雜的動態(tài)規(guī)劃(如動態(tài)規(guī)劃解特別的旅行商TSP問題等)

  記錄狀態(tài)的動態(tài)規(guī)劃.

  樹型動態(tài)規(guī)劃(

  六.數學

  組合數學:1.容斥原理.2.抽屜原理.3.置換群與Polya定理4.遞推關系和母函數.

  數學.1.高斯消元法2.概率問題.3.GCD、擴展的歐幾里德(中國剩余定理)

  隨機化算法

  七.計算幾何學.

  坐標離散化.

  掃描線算法(例如求矩形的面積和周長并,常和線段樹或堆一起使用)

  幾何工具的綜合應用.


  高級:

  一.基本算法要求:

  代碼快速寫成,精簡但不失風格

  保證正確性和高效性.

  二.圖算法:

  度限制最小生成樹和第K最短路.

  最短路,最小生成樹,二分圖,最大流問題的相關理論(主要是模型建立和求解)

  小生成樹.

  無向圖、有向圖的最小環(huán)

  三.數據結構.

  trie圖的建立和應用.

  LCA和RMQ問題(LCA(最近公共祖先問題)有離線算法(并查集+dfs)和在線算法

  雙端隊列和它的應用(維護一個單調的隊列,常常在動態(tài)規(guī)劃中起到優(yōu)化狀態(tài)轉移的目的).

  左偏樹(可合并堆).

  四.搜索

  廣搜的狀態(tài)優(yōu)化:利用M進制數存儲狀態(tài)、轉化為串用hash表判重、按位壓縮存儲狀態(tài)、雙向廣搜、A*算法.

  深搜的優(yōu)化:盡量用位運算、一定要加剪枝、函數參數盡可能少、層數不易過大、可以考慮雙向搜索或者是輪換搜索、IDA*算法.

  五.動態(tài)規(guī)劃

  需要用數據結構優(yōu)化的動態(tài)規(guī)劃.

  四邊形不等式理論.

  較難的狀態(tài)DP

  六.數學

  組合數學.1.MoBius反演2.偏序關系理論.

  博奕論.1.極大極小過程2.Nim問題.

  七.計算幾何學.

  半平面求交

  可視圖的建立

  點集最小圓覆蓋.


<上一頁  1  2  
聲明: 本文系OFweek根據授權轉載自其它媒體或授權刊載,目的在于信息傳遞,并不代表本站贊同其觀點和對其真實性負責,如有新聞稿件和圖片作品的內容、版權以及其它問題的,請聯系我們。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網
    獲取更多精彩內容
    文章糾錯
    x
    *文字標題:
    *糾錯內容:
    聯系郵箱:
    *驗 證 碼:

    粵公網安備 44030502002758號