人工智能程序员入门应该学哪些算法?

初期

一.基本算法:

枚举.

递归和分治法.

递推.

二.图算法:

图的深度优先遍历和广度优先遍历.

最短路径算法

最小生成树算法

二分图的最大匹配 (匈牙利算法)

最大流的增广路算法(KM算法).

三.数据结构.

排序(快排、归并排(与逆序数有关)、堆排)

简单并查集的应用.

哈希表和二分查找等高效查找法(数的Hash,串的Hash)

哈夫曼树

trie树(静态建树、动态建树)

四.简单搜索

深度优先搜索

广度优先搜索

简单搜索技巧和剪枝

五.动态规划

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

背包问题.

简单DP (最长公共子序列) (最优二分检索树问题)

六.数学

组合数学: 1.加法原理和乘法原理. 2.排列组合. 3.递推关系.

数论. 1.素数与整除问题 2.进制位. 3.同余模运算.

计算方法. 1.二分法求解单调函数相关知识

七.计算几何学.

几何公式.

叉积和点积的运用(如线段相交的判定,点到线段的距离等).

多边型的简单算法(求面积)和相关判定(点在多边型内,多边型是否相交)

凸包.

中级:

一.基本算法:

C++的标准模版库的应用.

二.图算法:

差分约束系统的建立和求解.

最小费用最大流

双连通分量

强连通分支及其缩点

原文链接

猜你喜欢

转载自my.oschina.net/u/3611008/blog/1635827