【学生提问】算法
老师对于有些程序设计的代码写法,不理解的时候,我是否是应该先背下来,或者作个记录,之后要用的时候,再参考,仍是用什么方式完全弄懂?这个对于算法的理解,有什么提升的方法和步骤吗?ide
【答复】函数
首先,我不同意在不理解的状况下强记的方法。不理解先强记,对于某些少数的人文类知识,如诗词,是能够的,由于那些内容,一字不差是基本要求。各学科都有其内在逻辑,对绝大多数知识,要设法将本身已有知识与新学的知识联系起来,这能够是到达理解程度的中间状态,这样就能够不记而记了。对于程序和算法而言,掌握其思想,懂得其技术,写法能够有不少,先背下来,可能就坏事了。学习
其次,如何处理这件事?建议几个策略,我以你正在学的递归为例说明:(1)补差法:如今学不懂递归,根源可能仍是你对函数机制的理解不到位,形参和实参的结合、函数返回的值以及返回的点等等,只要有一个地方模糊,到递归时,就会成为障碍,你能够借着学递归,找出与之相关的前面的知识点,把不曾觉察的短板补上来;(2)外围突破法:看某一本书没懂,某一个视频没看懂,多是这些材料与你的思惟没有搭上线,你能够再找一些材料,能够在网上找,能够翻其余书,别的材料里的例子、讲法,可能让你一会儿就打通了本身未能发现的关键障碍,作到了理解;(3)暂时搁置法:学习是个长期的过程,别期望全部的内容过一遍就全打通,若是这个知识点太困难了,又不是立刻急着要用上(急着要用的能够先照猫画虎),就能够先放一放(不是放弃了),之后,一是记着往前走一段时间后再回来看(一年级的没全懂,二年级回来再看,发现容易了),二是在用着时马上回来看(这是用补差法解决后续的知识点顺带解决遗留问题),这时是带着要解决的问题来学,天然效果就行了。设计
总结一下,学习的困难源于知识的联系不够、知识点间的逻辑不明,死盯一点,用单一方式突破,有困难正常。用较长的周期、用多种材料、多种方式突破,而不是在形式层面背会,这是解决困难的思路。视频