为什么要学习数据结构与算法?

今天开始在极客时间学习《数据结构与算法之美》课程,开篇便是“为什么要学习数据结构与算法?”这个老生常谈的话题。

那么为什么要学习数据结构与算法呢?归根结底,你学习一个东西是因为你觉得他有收益,那么学习数据结构与算法,收益在哪里呢?

短期收益是应对考试、面试。

长期收益是“用”,来解决实际工程问题。

文中还提到了三点:

1.数据结构与算法的设计思想、背后原理能够帮助我们更高效定位问题、分析性能开销和资源利用,进而让你不只是一个简单的业务开发Boy。

2.要以“能够写出开源水平的框架”为目标,开源工业级产品和玩具为何差距巨大?因为高手之间的竞争就在细节,算法是否足够优化?数据存取效率是否足够高?内存是否足够省?

3.不甘平庸,要有追求。“十年如一日”的重复,可能终将导致你35岁陷入瓶颈,被行业淘汰。

更多时候,你用不上可能只是因为你在“边缘”位置,不那么重要,这很现实。

如果你在一家成熟的公司,或者 BAT 这样的大公司,面对的是千万级甚至亿级的用户,开发的是 TB、PB 级别数据的处理系统。性能几乎是开发过程中时刻都要考虑的问题。一个简单的 ArrayList、Linked  List 的选择问题,就可能会产生成千上万倍的性能差别。这个时候,数据结构和算法的意义就完全凸显出来了。

不止是互联网行业如此,只不过互联网加速了“学如逆水行舟,不进则退”的过程。

借用“守离破”的观念,熟悉,突破,创造,最终走出你自己的一派,很难但值得一试!

 

你可能感兴趣的:(数据结构与算法,算法,数据结构,感悟)