【转】学习路线2

本文档提供了一个全面的学习路线图,涵盖了从基础C++到高级算法如动态规划、图论等内容,同时还包括了线性代数、数论等数学知识,以及网页设计和网络编程等方面的内容。

原文链接
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,如果想参加数学建模大赛的话,需要学这个软件。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值