人工智能程序員入門應(yīng)該學(xué)哪些算法?
初期
一.基本算法:
枚舉.
遞歸和分治法.
遞推.
二.圖算法:
圖的深度優(yōu)先遍歷和廣度優(yōu)先遍歷.
最短路徑算法
最小生成樹算法
二分圖的最大匹配(匈牙利算法)
最大流的增廣路算法(KM算法).
三.數(shù)據(jù)結(jié)構(gòu).
串
排序(快排、歸并排(與逆序數(shù)有關(guān))、堆排)
簡單并查集的應(yīng)用.
哈希表和二分查找等高效查找法(數(shù)的Hash,串的Hash)
哈夫曼樹
堆
trie樹(靜態(tài)建樹、動態(tài)建樹)
四.簡單搜索
深度優(yōu)先搜索
廣度優(yōu)先搜索
簡單搜索技巧和剪枝
五.動態(tài)規(guī)劃
背包問題.
簡單DP(最長公共子序列)(最優(yōu)二分檢索樹問題)
六.數(shù)學(xué)
組合數(shù)學(xué):1.加法原理和乘法原理.2.排列組合.3.遞推關(guān)系.
數(shù)論.1.素數(shù)與整除問題2.進(jìn)制位.3.同余模運(yùn)算.
計算方法.1.二分法求解單調(diào)函數(shù)相關(guān)知識
七.計算幾何學(xué).
幾何公式.
叉積和點(diǎn)積的運(yùn)用(如線段相交的判定,點(diǎn)到線段的距離等).