因为本人是非科班出身,所以对于算法有着特殊的情结。但在学习算法的过程中,我拿起又放下,断断续续了好几次,都未能修成正果。所以在这里想请教下学习算法的正确姿势。
我的主要问题有:
- 因为我是文科专业毕业的,所以数学这方面的知识还比较欠缺。像《线性代数》《离散数学》《概率论》这些课程是否是学习算法的预置课程?
- 如何从学习算法中获取成就感,从而形成正向反馈?
- 算法的学习周期大概是多长?
因为本人是非科班出身,所以对于算法有着特殊的情结。但在学习算法的过程中,我拿起又放下,断断续续了好几次,都未能修成正果。所以在这里想请教下学习算法的正确姿势。
我的主要问题有:
1 这些算是基础课程,有利于锻炼逻辑思维,但可能初级算法中用不到,譬如冒泡,插入等排序算法
2 刷题,刷letcode或者剑指offer
3 如果不想被淘汰,学习就没有期限可言
1.常见的算法一般用不到数学,你可以找一本大学的数据结构与算法的书看一看入门
2.多去搜一些常见开源软件用到的算法,比如mysql的索引用到了那些算法
3.跟对师傅会很快,一个月入门,自己摸索看时间和理解能力的快慢
1 回答3.5k 阅读✓ 已解决
1 回答2.8k 阅读
2.5k 阅读
1 回答556 阅读✓ 已解决
1 回答1.2k 阅读
1 回答527 阅读✓ 已解决
边去oj刷题,边啃书。
oj有很多:
http://acm.hdu.edu.cn/
http://poj.org/
书可以选择刘汝佳的两本算法入门,难一点的可以直接啃算法导论,不过不建议。