算法学习是一条漫长而又苦涩的道路。之所以漫长,是因为有关算法的学习是无穷无尽的,如果你不想经历程序员的35岁之劫难,那就要不断地学习算法,提高自己的不可替代性。之所以是苦涩,是因为算法更像是数学题,对智力是有一定要求的,学习算法的过程中总是会质疑自己,相较于一些学会就能用的技术而言,算法学习进步又不是那么显而易见,但是又是每一个程序员必须经历的。
所以学习的方法很重要,在自己智力、自制力以及一些其他我们无法控制的因素都是固定的情况下,因为这些因素都很难改变,方法的好坏直接决定我们学习的效率。
废话不多说直接附在自己学习的过程和一些资源的推荐。
首先最重要的事情就是
一定要动手自己敲
一定要动手自己敲
一定要动手自己敲
重要的事情说三遍
数据结构
笔者认为算法学习之前,一定要有数据结果的基础,最起码知道那些栈啊,队列啊,如果学习算法过程出现了相关的问题,可以补充一下这方面的知识。
还有一个问的比较多的问题,就是我需要为了算法,学习C或者C++吗?其实问这种问题的大多是大学生,因为大学基本上都是用C编写的数据结构和算法,因为C可以直接操作内存,这样更容易展示数据结构和算法的一些概念。不过大家记住了语言只是工具,没有必要纠结于此。目前还没有说什么只有一种语言能干什么事,别的干不了的说话,只是在面对不同需求,每个语言有自己的优势而已。Java早期的内核还是使用C语言编写的呢。
如果有朋友想了解数据结构的重要性,可以看看这篇文章,能帮