为什么要学习数据结构与算法?
为什么我要学这些?这肯定是很多人的疑惑。
我们现在学习的数据结构和各种算法,都是世界最顶尖的天才们,为了解决他们遇到的问题,呕心沥血创造的。它们经过几十年的考验,证明了它们的实用性和可靠性。
学习这些,当你遇到问题的时候,你将能从这些东西里,组合出一个好的答案。而不是凭着你自己的直觉,去解决问题。天才们的想法不仅有严格的数学证明,还有多年的实践考验,以及无数人的优化。除非你是一个比冯诺依曼更聪明的天才,否则,还是用用这些前人的智慧比较好。
可能有人说,你瞎说,我从来没有遇到过需要使用算法和数据结构知识的问题。那我只能回答,可能你这辈子也就只能做做搬砖的代码工作。当你的工作达到一定的高度,你不得不会算法与数据结构。
拿曾经被人认为最没有技术含量还差点被开除程序员籍的前端举个例子,十年前的前端的确不需要任何的数据结构和算法知识,一个jQ
统治天下。但到了现在,三大框架哪个不是需要算法知识才能更好的对DOM的处理?
时代在发展,新语言、新框架层出不穷。但这些东西背后都有一个颠扑不破的真理——数学。而数学在计算机世界里的弱化体现,就是算法。但算法不能是无根之源,数据结构就是算法的根基,有了数据结构,才能实现算法。而算法又能推动数据结构的发展,就如同数据库的根基—— B 树一样。
Last updated