数据结构与算法之美(零):学前准备

2018-11-23  本文已影响78人  六号先生117

笔者作为一名非科班出身的程序员,想系统地补充“数据结构与算法”这一块知识,入了极客时间的专栏《数据结构与算法之美》,希望能以笔记的形式总结、分享所学,更以督促学习。

本章内容源于对专栏以下章节的学习笔记:

经验篇

作者开篇介绍了两个和数据结构与算法有关的例子:

基础知识就像是一座大楼的地基,它决定了我们的技术高度。而要想快速做出点事情,前提条件一定是基础能力过硬,“内功”要到位。

我们都知道基础无外乎就是操作系统、计算机网络、编译原理等,当然还有数据结构和算法。

人生路上,我们会遇到很多的坎。跨过去,你就可以成长,跨不过去就是困难和停滞。而在后面很长的一段时间里,你都需要为这个困难买单。对于我们技术人来说,更是这样。既然数据结构和算法这个坎,我们总归是要跨过去,为什么不是现在呢?

目的篇

我们为什么要学习数据结构和算法?

1.通关大厂面试

摆正心态:我们学任何知识都是为了“用”的,是为了解决实际工作问题。

2.避免只会业务操作

在基础框架中,一般都柔和了很多基础数据结构和算法的设计思想。掌握数据结构和算法,不管对于阅读框架源码,还是理解其背后的设计思想,都是非常有用的。

3.开源框架的目标

相同原理的框架,为什么有的人写的就可以在GitHub上被很多人使用,甚至被官方收录?归根结底在于细节,比如算法的优化、数据存储效率、内存的优化等等。

4.对编程的追求

不想只会写凑合的代码,对编程有所追求。性能好坏起码是评判代码非常重要的一个标准。

小结:学习数据结构和算法,并不是为了死记硬背几个知识点。目的是建立时间复杂度、空间复杂度意识,写出高质量的代码,能够设计基础架构,提升编程技能,训练逻辑思维,积攒人生经验,以此获得工作回报,实现你的价值,完善你的人生。掌握了数据结构与算法,你看待问题的深度,解决问题的角度就会完全不一样。

方法篇

如何系统高效地学习数据结构与算法?

1.数据结构与算法的定义

从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。

2.数据结构与算法的关系

数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。

3.学习认知要求

搞清楚:是什么、为什么、怎么做?

4.学习重点

5.学习技巧

上一篇 下一篇

猜你喜欢

热点阅读