一般算法可以求解的经典问题
贪婪算法
图的最小生成树问题(克鲁斯卡尔算法 及 普里姆算法)
图的最短路径问题(狄克斯特拉算法)
最小化任务执行的平均时间问题
背包问题
分治法
通用模板:
function DivideToConquer(x){
if (x足够小且足够简单) {处理x, return}
else{
把问题分解成子问题 x1,x2,x3...xn
for (int i=0;i<n;i++){
处理 xi,即DivideToConquer(xi);
}
}
}
传染病问题
二分搜索及快速排序
矩阵乘法
汉诺塔问题
动态规划
快速傅里叶算法
多边形的最优分割
找零钱问题
最短路径问题
背包问题
链式矩阵乘法
回溯法
迷宫问题
八皇后问题
骑士周游问题
图的深度优先遍历
概率算法
蒲丰投针问题
验证矩阵乘法
素数性测试
大整数分解因式