Index
这里面记录一些具体的算法题目。
关于程序设计算法,对于一个计算机专业学生来说,真是本科期间甩不掉的东西。从刚上大一铺天盖地的 ACM 宣传以及新生赛;大二开设的数据结构课程,我们班还单独开了一门算法设计课程,每周都要做题目;大三讲授的算法导论课,以及要求参加的 CCF 比赛;大四面对工作、升学需要疯狂准备算法题。几乎每一年都要在这上面花费居多的时间。
从大三之后,就开始不想太花时间放在这上面了。许多题目的确很有意思,但是这玩意完全是无底洞。往往花了很多时间做一道题目,思考、实现...每一个都非常杀时间,而且做完也的确感觉自己付出了很多,但这些在工作中用的的确很少。用华而不实来评价或许很准确一些。
大四开始我一直非常避免在这上面花时间,包括研究生时找工作也基本没怎么准备,生命短暂,时间宝贵。但不管怎么样,程序算法已经是人生中的一段记忆了。
留存,准备 CCF 时的简单记录
--图论
树的前中后序层次遍历
DFS、BFS、强联通分量、拓扑排序
Dijkstra、Bellman-Ford、Floyd
Prim、Kruskal
差分约束、对抗搜索
网络流问题
--递归
子集生成、枚举排列
递归程序:天平(P157)、八皇后(P192)
BFS:八数码问题(P199)
迭代加深搜索:埃及分数(P207)
--动态规划
基础DP:LIS、LCS、背包
区间DP:石子归并
DAGDP:硬币问题、矩阵嵌套
树形DP
--经典题目
1\. 霍夫曼编码
2\. Strassen矩阵乘法
3\. 矩阵链乘法
4\. 大路小路迪克斯特拉
5\. n皇后问题
6\. 整数分治乘法
7\. 石子归并问题
8\. LIS、LCS
9\. 找中位数
10\. 寻找第k个数字不同方法
11\. 埃及分数