引言

2019-12-17  本文已影响0人  CCCCCccccccch

为了成为一名更合格的工程师,我决定持续不断地去夯实基础。基础知识决定了我们的技术高度,工程师的“内功”,应该包括操作系统、计算机网络、编译原理、数据结构与算法等。本单元为学习数据结构与算法的记录。

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

掌握数据结构与算法,不管对于阅读框架源码,还是理解其背后的设计思想,都十分有用。

对于性能优化,数据结构与算法的意义就完全凸显出来了。

学习数据结构与算法的目的是建立时间复杂度、空间复杂度意识,写出高质量的代码,能够设计基础架构,提升编程技能,训练逻辑思维。掌握了数据结构与算法,你看待问题的深度、解决问题的角度就会完全不一样。对事业和生活都能有所运用,有效锻炼大脑思考能力。

如何系统高效地学习?

从广义上讲,数据结构就是只一组数据的储存结构。算法就是操作数据的一组方法。数据结构是为算法服务的,算法要作用在特定的数据结构之上。

数据结构与算法中最重要的概念——复杂度分析。

数据结构与算法解决的是如何更省、更快地储存和处理数据的问题,因此我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析法。

作为初学者,并不需要掌握图里的所有知识,学会找重点学习。不管是应付面试还是工作需要,只要集中精力逐一攻克以下 20 个知识点。

10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树

10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法

在学习数据结构与算法的过程中,切忌死记硬背,不要为了学习而学习,而是要学习它的“来历”,“自身的特点”,“适合解决的问题”以及“实际的应用场景”。

事半功倍的学习技巧:

1、边学边练,适度刷题

2、多问、多思考、多互动

3、打怪升级学习法

4、学习知识是反复迭代、不断沉淀的过程

-----------------------------------------------------------------------------------------------------------------------------------------

啃好书,做好项目,坚持,用时间去见证进步!

上一篇下一篇

猜你喜欢

热点阅读