回锅DS-5:将算法过程与代码分离开解决

现在又有个新的感悟,忍不住给您发邮件分享一下。
  我在看您的数据结构课程。到图这一节的时候,我开始运用您的“给自己不断的设一个跳起来就能够得着的目标”,我每次看一个新小节的时候,我就想如果我做的话会怎么做(当然,大多数情况下是无果的)。
  而且我看完了当时理解了,我会自己写一遍。接着学着后面的我会想着前面的,隔一段时间在问一下自己如果现在让你写前面的xxx,你还能写出来吗。
  就是再这样的过程中,我把图的DFS熟悉了好多次,我也在想为啥很多人会觉得算法难(包括我自己,不过现在觉得没那么难了),估计很多人不知道难在哪里。
  以我个人的经历,我认为,难点一:是解法的过程不好想,难点二:是当时会了,过一段就又容易遗忘。
  对于难点一,没办法,只能靠个人的积累和悟性。对于难点二,我觉得是可以解决的,之所以会出现难点二,是很多人觉得自己理解了,只是当时理解而已,或者看别人的东西当时也似懂非懂,但是趁着那股热乎劲,能够勉勉强强的把算法写出来。
  所以对于难点二,我现在就是利用您的“抽象方法”,尽量把算法的过程和具体的代码脱离开,不让具体的代码影响算法的过程(今天中午才理解的比较透彻)。昨晚和今天中午我把DFS的过程自己想了想,然后用笔写了出来,昨晚的那个比较粗浅。今天中午又写了一遍,突然感觉豁然开朗。具体的算法用汉语描述还是很简单的,但是很多人就是把这个汉语的描述和具体的代码混淆在了一起,所以会出现类似“瞎撞”的情况。
  如图,自己练习的时候自己比较潦草。右边的过程写完后,我就想起了您的视频,我打开视频一看,和您的视频中的一致。之前看视频的时候其实看到这个中文片段的时候并未那么重视。但是这就是精髓所在了。如果学习的过程学完后,能把这个过程也自己用汉语写出来,剩下的就是用具体的编程语言翻译一下吧(之前做的时候是两个过程混在一块,现在是翻译写好的过程,其实是很简单的事情了)。
  另外这两天在构思一篇文章,以图的应用引出我的这个思考。然后把工作中个人理解的算法和业务代码的联系(虽然有点弱,甚至说是没有太直接的联系)说一下。

附:
回锅DS-4:回头看的感觉
回锅DS-3:基本操作与指针体验
回锅DS-2:做项目中的思考
回锅DS-1:对抽象之用的感悟及让自己更有力量的思维方式

发布了2348 篇原创文章 · 获赞 4788 · 访问量 880万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览