主要算法的核查与检测,主要包括:
1.递归关系求解,
2.分治算法(如快速傅里叶变换、整数乘法),
3.图的基本概念与DFS/BFS应用,
4. 强连通分量与拓扑排序
5. 最短路径算法(Dijkstra、Bellman-Ford)
6. 最小生成树(Prim、Kruskal)与联合查找(Union-Find)
7. 贪心算法正确性证明(如哈夫曼编码)
8. 网络流与二部匹配初步
9.动态规划建模与状态转移
10. 线性规划与单纯形法原理
11. NP-完全性理论与归约技巧
12. 近似算法与随机化算法思想
书面作业+编程实现,下面重点论述编程实现部分:
1.快速傅里叶变换(FFT)实现多项式乘法
i) 多项式表示转换:将两个多项式从系数表示转换为点值表示(通过FFT计算n个点的函数值)
ii) 点值乘法:在点值表示下,两个多项式的乘积等于对应点值的乘积(O(n)时间)
iii)逆变换还原:通过逆FFT(IFFT)将点值表示转换回系数表示
2. Dijkstra算法求解最短路径(算法采用贪心选择策略,每次从尚未确定最短路径的节点中选择距离源节点最近的节点,并将其加入已确定最短路径的集合中。这一过程不断重复,直到所有节点都被处理完毕。)
3. Huffman编码构建最优前缀码(通过频率权重分配、贪心构建树结构、前缀码特性以及最优性保证,实现了对数据的高效压缩)
4. 网络流中的Ford-Fulkerson方法实现(通过不断寻找增广路径来逐步增加流网络中的流量,直到无法找到新的增广路径为止)