人工智能程序员入门应该学哪些算法?
初期
一.基本算法:
枚举.
递归和分治法.
递推.
二.图算法:
图的深度优先遍历和广度优先遍历.
最短路径算法
最小生成树算法
二分图的最大匹配(匈牙利算法)
最大流的增广路算法(KM算法).
三.数据结构.
串
排序(快排、归并排(与逆序数有关)、堆排)
简单并查集的应用.
哈希表和二分查找等高效查找法(数的Hash,串的Hash)
哈夫曼树
堆
trie树(静态建树、动态建树)
四.简单搜索
深度优先搜索
广度优先搜索
简单搜索技巧和剪枝
五.动态规划
背包问题.
简单DP(最长公共子序列)(最优二分检索树问题)
六.数学
组合数学:1.加法原理和乘法原理.2.排列组合.3.递推关系.
数论.1.素数与整除问题2.进制位.3.同余模运算.
计算方法.1.二分法求解单调函数相关知识
七.计算几何学.
几何公式.
叉积和点积的运用(如线段相交的判定,点到线段的距离等).
多边型的简单算法(求面积)和相关判定(点在多边型内,多边型是否相交)
凸包.
1 2 下一页>