和王有志一起学习数据结构与算法

01.和王有志一起学习数据结构与算法

2022-08-18  本文已影响0人  王有志

大家好,我是王有志。

从今天开始,我将和大家一起从零开始学习数据结构与算法。作为开篇词我们不聊技术,聊一聊为什么要学习以及要如何学习:

“从零开始”

记得2016年夏天,我刚踏出校门便在朋友圈立下了“豪言壮志”:

kwgZg55v9PEnbvsGr4C4v9aYjoJkObg_Be9Eg6-Pe4M.png

那时候的我,是真的相信自己可以写出“改变世界”的程序。可是,当我回过头来看这些年的经历时,发现自己慢慢变成了“CRUD BOY”,于是我不断寻找改变的机会。

直到2021年底,我得到了一次转岗基础架构部的机会,我花了很长时间去研究项目和架构,可最后还是倒在了算法面试前。于是,我不得不开始“修补地基”。这就是我最初的目的,解决当前的问题,改变当下的困境

或许很多小伙伴像我一样,为了通过面试不得不学习数据结构和算法,其实这无可厚非,毕竟学习的本质是解决问题,而无法通过面试也是我们遇到的问题之一。

当然,如果能从解决面试中的问题,再到解决工作中的问题,这多是一件美事啊。

建议和方法

很多小伙伴在听到数据结构和算法时,就开始慌了,很难学吗?是不是有大量的数学计算?

实际上并不是这样的,基础的数据结构和算法是一门很成熟的学科。成熟就意味着,无论是图书馆还是互联网,都有大量权威性的书籍和资料,为我们的学习提供了极大的便利性。

其次,我们学习是为了将成熟的数据结构和算法应用到工作中,而不是创造新的数据结构和算法,应用相比创造总是容易的。

最后,只有在算法分析时才会涉及到数学计算,而且大部分计算只要一丢丢高中的数学知识就足够了。

说完了对学习难度的看法,在这里也给出我自己行之有效的3个学习方法:

不去纠结概念和定义

我们的学习目的是应用而不是应试。因此,能够准确的理解概念和定义,并通俗的解释出来就足够了,而不需要死记硬背晦涩难懂的概念和定义

如果是为了通过专业/升学考试,那么你需要使用专业的教材,学习专业的课程,比如:清华大学邓俊峰老师的公开课《数据结构》

不要从“两数之和”开始

很多小伙伴的数据结构和算法之旅是从“两数之和”开始的。虽然难度只是简单级别的,但是也很容易让人陷入“abandon困境”(想想你的考研单词)。

刚入门时,没有足够的知识储备,只能通过“暴力”方法解决问题,甚至根本无法解决问题,从而遭受打击灰心丧气,导致“abandon”。个人认为一个比较合理的顺序是:学习,思考,然后才是练习

具象化数据结构

还记得学习立体几何的场景吗?最开始在脑袋中构建几何图形是很困难的,但是在纸上画出来后,很多问题就会迎刃而解。

学习数据结构也是这样,我们很难通过想象构建数据的逻辑组织形式,借助工具将抽象具象化,会帮助我们更好地理解数据结构的特点。

在这里也推荐通过开源绘图软件draw.io构建你的数据结构。

规划和说明

接下来我会简单地介绍下整个系列的规划,文章结构和使用到的参考资料。

整体规划

整体分为3个专题:

最后我会补充一点机器学习的内容,监督学习,无监督学习的概念,一些入门的算法,如:KNN,朴素贝叶斯等。毕竟我们不仅仅要“脚踏实地”,也要“仰望星空”。

文章结构

文章也分为3个部分:

参考资料


好了,今天就到这里了,Bye~~

上一篇 下一篇

猜你喜欢

热点阅读