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


蚂蚁花呗里面欠下的那些债是要还的,在大学里面逃过的那些课是要补的。既然选择了吃计算机这碗饭,就要做出点样子来,才无愧于自己的内心。
我曾一直用 “能干的人解决问题,智慧的人绕过问题” 这句话激励我做事情要懂得变通,要思考成本更低、效果更好的解决方案,最好是资源互换,不费一点成本的解决。但是生活中有些事情注定是无法通过一些小聪明就能解决的,比如健身,比如学习。
来北京之后,看到了自己的很多不足,离想要的自己还有很大差距,所以感觉更需要踏实下来努力奔跑。这段时间逐渐把状态调整过来了,赤子之心,再次启程。
要说通往优秀软件工程师之路上的山峰的话,数据结构与算法这门课应该算入门级别的,但是就像西游记中的两界山,翻山的过程是痛苦的,停留在山下是快乐的。但是只有翻过去才有机会拿到通往极乐世界的门票。

什么是数据结构与算法

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

怎么学数据结构与算法

时间复杂度

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

常见数据结构与算法

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

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

学习技巧

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

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

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

讨论

周娱

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

4601 1243838
抢先体验

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

加入组织

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

闪念胶囊

不积跬步无以至千里,越焦虑越要扎实干。

不要试图鹤立鸡群,趁早离开那群鸡!

程序员过节需要的不是美女、不是美食、不是不加班!他们需要的是写代码,一群人写、往死里写、通宵写!!那种暗流涌动的狂欢,远比虚无庸俗的食色更让他们振奋!! by芋头

面试的时候,常常会问数组和链表的区别,很多人都回答说,“链表适合插入、删除,时间复杂度 O(1);数组适合查找,查找时间复杂度为 O(1)”。 实际上,这种表述是不准确的。数组是适合查找操作,但是查找的时间复杂度并不为 O(1)。即便是排好序的数组,你用二分查找,时间复杂度也是 O(logn)。 所以,正确的表述应该是,数组支持随机访问,根据下标随机访问的时间复杂度为 O(1)。

找一个bug就好比从一泡烂泥里找一条泥鳅,写一个bug就好比往一泡烂泥里丢一条泥鳅进去

数据结构在某种程度上和设计模式类似,都是前辈的武功套路。不同的是,设计模式是近几十年的卓越程序员的智慧结晶,而数据结构是几百上千年的无数科学家、数学家的智慧沉淀,更加具有深厚的背景。

18年元旦立下的flag要集中突击一下了.....

人生是一场马拉松,起跑的优劣对于整段路途而言并没有那么重要,笑到最后的都是一直在跑的人,也就是一辈子都在学习的人。

角色是谁并不重要,重要的是会不会抢戏~

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