【转】学习路线2

来源:互联网 发布:oracle 执行sql脚本 编辑:程序博客网 时间:2024/06/05 16:36

原文链接
1. 掌握C++部分语法,如引用类型,函数重载等,基本明白什么是类。

2. 学会BFS与DFS

a) 迷宫求解(最少步数)

b) 水池数目(NYOJ27)

c) 图像有用区域(NYOJ92)

d) 树的前序中序后序遍历

3. 动态规划(15题以上),要学会使用循环的方法写动态规划,同时也要学会使用记忆化搜索的方法。

a) 最大子串和

b) 最长公共子序列

c) 最长单调递增子序列(O(n)与O(n log n)算法都需要掌握)

d) 01背包

e) RMQ算法

4. 学会分析与计算复杂程序的时间复杂度

5. 学会使用栈与队列等线性存储结构

6. 学会分治策略

7. 排序算法

a) 归并排序

b) 快速排序

c) 计数排序

8. 数论

a) 扩展欧几里德算法

b) 求逆元

c) 同余方程

d) 中国剩余定理

9. 博弈论

a) 博弈问题与SG函数的定义

b) 多个博弈问题SG值的合并

10. 图论:

a) 图的邻接矩阵与邻接表两种常见存储方式

b) 欧拉路的判定

c) 单最短路bellman-ford算法dijkstra算法。

d) 最小生成树的kruskal算法与prim算法。

11. 学会使用C语言进行网络编程与多线程编程

12. 高等数学

13. 线性代数

a) 明确线性代数的重要性,首先是课本必须学好

b) 编写一个Matrix类,进行矩阵的各种操作,并求编写程序解线性方程组。

c) 推荐做一两道“矩阵运算”分类下的题目。

14. (较重要)使用C语言或C++编写简单程序来调用一些简单的windows API,或者在linux下进行linux系统调用,其目的是明白什么是API(应用程序接口)。

15. 网页设计

a) 学习静态网页技术(html+css+javascript)

b) 较具有艺术细胞的可以试试Photoshop

c) php或其它动态网页技术

16. 学习matlab,如果想参加数学建模大赛的话,需要学这个软件。

原创粉丝点击