关于数据结构与算法学习方法的一些思考 | 王争《数据结构与算法之美》-极客时间


蚂蚁花呗里面欠下的债都是要还的,在大学里面逃过的课都是要再补的。既然选择了吃计算机这碗饭,就要做出点样子来,才无愧于自己的内心。

我曾一直用 “能干的人解决问题,智慧的人绕过问题” 这句话激励我做事情要懂得变通,要思考成本更低、效果更好的解决方案,最好是资源互换,不费一点成本的解决。但是,有些事情注定是无法通过一些小聪明来解决的,比如健身,比如学习。

来北京之后,看到了自己的很多不足,离想要的自己还有很大差距,更需要踏实下来努力奔跑。这段时间逐渐把状态调整过来了,赤子之心,再次启程。

在通往优秀软件工程师的路上,数据结构与算法这门课相当基础,属于入门必备,但是学习的过程却是相当枯燥。

就像西游记中的两界山,翻山的过程是痛苦的,停留在山下是快乐的,但是只有翻过去才有机会拿到通往极乐世界的门票。

什么是数据结构与算法

广义上讲,数据结构指的是一组数据的存储结构;算法指的是操作数据的一组方法。
狭义上讲,就是我们常提到的数组、链表、排序、堆、栈这些前人从实践中抽象出来的应用结晶。
数据结构和算法其实是两个概念,但是一般我们很少见把他们拆开来讲,那是因为数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。

怎么学数据结构与算法

时间复杂度

参加过任何一场竞赛类活动的朋友都应该知道,参加比赛的第一件事就是了解清除比赛规则,了解比赛的评判方式。了解清楚规则,才好放手去做,不然自己瞎搞一通,最后不符合规则,产出为零。在数据结构与算法的领域里,充当度量工具的就是“时间复杂度”这个概念。
在今后很长一段时间的学习、工作中,“时间复杂度”就像一把剑始终悬浮在我们的头顶上,评价代码算法优劣的标准就是时间复杂度的高低。

常见数据结构与算法

因为我是跟随着极客时间王争先生的《数据结构与算法之美》这门课程来进行学习的,所以整体思考内容也和他讲的范围大致相同,主要包含

  • 十种常见的数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树
  • 十种常见的算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法

学习技巧

王争先生分享了他的几种学习技巧,基于他的分享,结合我的实际情况,我思考了一下如何落实这几种学习方法。

  1. 边学边练、适度刷题
    学习数据结构与算法这类理论枯燥的东西,光靠看理论是作用不大的,一是不能真正理解,再就是一会就忘了。所以,做题和敲代码写Demo是很重要的。利用搜索引擎,我们可以得到很多的资料,给自己定个目标,每个知识点,至少做练习5道相关的题,完成两个代码Demo。
  2. 多问、多思考、多互动
    离开学校之后,想找到共同学习的人确实挺难的,想找到一个共同学习还能讨论起来的人更是难上加难。所以我找了几个论坛,数据结构与算法论坛-CSDN论坛数据结构与算法 - 编程论坛 多去上面解决一些问题吧,多看、多思考别的想法,然后提出自己的想法。
  3. 打怪升级学习方法
    我的方法:多做题,多发博客!至少每个专题发一篇思考博文吧,然后针对这个专题所做的练习题和在论坛解决的问题再发一到两篇专项练习博客。
  4. 知识需要沉淀
    这一点我是深有体会的,学习知识是一个反复迭代、不断沉淀的过程,以月为单位回头复习吧,多看、多解决问题,只有真正的理解了,才能真正转化为自己的东西。

本文发表于2018年09月28日 19:44
阅读 1702 讨论 0 喜欢 3

讨论

周娱

君子和而不同
按照自己的方式,去度过人生

6409 2086632
抢先体验

扫码体验
趣味小程序
文字表情生成器

加入组织

扫码添加周娱微信
备注“加入组织”
邀请进开发群

闪念胶囊

这个世界上,别人只会看你现在的样子而不是以后的样子。你以后的样子只有自己才相信。如果没有执行力,一切都是虚妄。

对普通人来说,人和人相处其实最重要的是感觉。感觉不好,你说什么都没用,怎么解释都没用,越说越错,反正最后不好的锅都往你身上扣。所谓“说你行你就行,不行也行。说你不行,你就不行,行也不行”就是这个意思。狼要吃人根本不需要理由,你也同样叫不醒装睡的人。遇到这种情况,早点闪人才是上策。不过大部分人的问题是没有闪人的心态,能力,和资源。

考985不牛逼,考上才牛逼。创业不牛逼,创业成功才牛逼。这个社会上很多人把目标当成牛逼的资本,牛逼哄哄的,死活不听劝,然后做的一塌糊涂,给别人添麻烦,让别人帮他料理后事,对此只能呵呵。

当你尝到用生气解决问题的甜头后,你就懒得再用其他方式了。你却忽略了,生气是鸩毒啊,剂量用够了,你的关系也玩完了。

年轻的时候你只搞事业不谈恋爱,等你事业有成了,钱相对自由了,你可能已经没有荷尔蒙了。

如果你经常雇佣比你矮小的人,将来我们就会变成矮人国,变成一家侏儒公司。相反,如果你每次都雇用比你高大的人,日后我们必能成为一家巨人公司。

如果一个人有充裕的时间去完成一项工作,那么他就会放慢节奏或者增加其他不必要的工作,直到花光所有的时间。

天空不是人类休息的地方,人类应该去亲近海洋。

一个人的正直程度,取决于他肯为原则付出的牺牲。

Copyright © 2016 - 2018 Cion.
All Rights Reserved.
备案:鲁ICP备16007319号.