鄙人才疏学浅。有整理不到位的,勿喷。

注意搜题目时、只需百度”HDU”+算法名称即可

最基本

* C++ 指针与引用
* 类继承,多态(不懂的百度吧)
* 正则表达式
* (矩阵)快速幂
* 筛素数(了解)
* 二叉树前、中、后序遍历(递归、非递归形式(较难))
题目: HDU5015(矩阵快速幂)

第一节 链表操作相关

注: 该节需要写代码实现

* 反转链表(前插)
* 遍历链表
* 交叉反转链表
* 单调队列
* 链表中倒数第K个节点
题目: HDU4193(单调队列)
第二节 排序相关(分治)

注:该节需要代码实现

* 实现快速排序、基数排序、插入排序、归并排序(java或C++)
* 待定
题目:HDU2141(分治)、HDU2899(分治)、HDU4282(分治)、HDU2289(分治)、LeetCode上相关题目。
第三节 动态规划相关

* 最长上升子序列LIS(重要)
* 编辑距离
* 平面最近点对距离
* 最大子串和
* 最长公共子序列
* 区间DP、数位DP、树形DP。(较难DP(面试只需了解): 插头DP、状态压缩DP、斜率优化DP、概率DP)

题目:HDU5489(LIS)、HDU4323(编辑距离)、HDU1561(树形DP),HDU3001(状压DP)、HDU3664(排列DP)、HDU4507(数位DP)、HDU3480(斜率优化DP)、HDU2993(斜率优化DP)、HDU4003(树形DP)、HDU4028(离散化DP)、HDU4842(简单DP)、HDU4734(数位DP)、HDU3652(简单数位DP)、HDU4389(数位DP)、HDU3709(数位DP)、51nod1006(最长公共子序列)、HDU5045(压缩DP)、HDU5115(简单区间DP)、HDU4607(树形DP)、HDU5155(简单DP计数)、HDU4512(LIS)、HDU4532(排列DP)、HDU1007(平面最近点对距离)、

第四节 字符串相关

* KMP算法(next数组)
* 正则表达式
题目: HDU1711(KMP)、HDU3336(KMP)

第五节 搜索相关

* 最小生成树 Kruskal,Prim(必须掌握)
* 最段路径 Dijkstra、Floyd
* DFS(深度优先搜索)、BFS(广度优先搜索)【剪枝+持久化】
* 模拟退火
题目:HDU1372(BFS)、HDU3766(BFS)、HDU5017(退火)、

第六节 数据结构相关

注: 该节一般是笔试最后一题(较难),要求会基本方法,不要求掌握代码

* 字典树
* 第K大数
* B+ B树
* 红黑树
* KD树(面试可能会问理论)
* 伸展树(不做要求)
* 线段树
* 树状数组(与线段树功能类似,实现方式不同)
* 并查集

题目:HDU4027(线段树)、HDU1698(线段树+lazy优化)、HDU5032(树状数组)、POJ1195(二维树状数组)、HDU4819(二维线段树)、HDU4533(树状数组)、

第七节 机器学习相关

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信