最近我在狂补计算机基础知识,感觉有点上瘾!以前觉得很枯燥的知识,现在竟然有点香!不知道为什么。
我算是科班出身,大学的专业就是计算机网络,不过老实说,在实际的开发中,大学的很多课程,要么“用处”不大,要么可以换个方式,更高效的学习。
其中的原因,一方面是实际开发更关注知识的“实用”,另外一方面,大学的教学确实和产业有些脱钩。所以我就从实际应用的角度出发,重新来梳理一下计算机基础方面的知识。
01、数据结构
毫无疑问,数据结构对一名程序员来说非常重要,还是那句话 程序=数据结构+算法 ,这种说法无论放在什么时候都是成立的。
大部分的数据结构课程,关注的重点都在如何从数学上实现一个数据结构,但在实际开发中,大部分主流语言都已经内置了常见的数据结构,比如说 Java。也就是说,对于大部分程序员来说,实际开发中,很难有需求要从零开始实现一个数据结构。因此我们只需要做到下面几点。
1、熟悉常见数据结构的概念,比如说数组、堆栈、链表、哈希表等。
2、了解常用数据结构之间的差异,比如说 ArrayList 和 LinkedList ,我在之前的文章中有详细说明过,可以点击链接去查看下。
3、关注常用数据结构的外围算法,比如说如何对 List 和 Map 进行查找。
<