答大二学生:怎样才能有解题思路

  1. 云栖社区>
  2. 博客>
  3. 正文

答大二学生:怎样才能有解题思路

贺利坚 2016-10-25 10:48:00 浏览609
展开阅读全文

【来信】
老师好:
  我是一名大二的计算机专业学生,到目前为止学过C和C++,这学期正在学习数据结构。而现在我打算进入学校的算法竞赛队学习。我现在遇到一个问题:我在OJ上刷题时没有解题思路,但答案代码看得懂。不知道怎么提高自己的解决问题的能力,能看到一道题就有大多数的思路?同样这个问题也出现在数据结构的学习中。
还有一点是,当遇到一个问题时,是要自己想算法,还是直接学习已有的经典算法,感觉自己想很长时间也想不出什么好的算法。

【回复】
你好:
  专业学习的过程,实际上就是个训练的过程。要看清这一点,那你的问题就好解决了。有解题思路,这是目标,现在达不到,所以才有学习和训练的必要。为此,你提到的,都是可以采取的方法。
  在这个训练过程中,就可以视情况而定了。一看就知道不必要做的,放过;有必要练的,做之;做完感觉还有改进空间的,改之。看了也不知道怎么做的,判断立刻想办法做出来,还是等再学点相关的知识再做,在学习中,尤其自学中,要有这个判断能力。马上要做的,不必追求完全靠自己的脑瓜去战斗,可以找各种参考,甚至就是这道题目别人的解决方案、别人的程序,在这些参考的指引下,最终自己完成。
  这就是训练的过程。中间的手段可以很多,需要灵活运用。用拿来主意,最后让自己做出来,完成了这项训练,就可以了。在训练的过程中,一些经典的算法,是要学的,很多重要的思维方式,就藏在其中,含在你的观摩过程当中。
  你提出的问题,一方面可能是着急自己进步应该更快些,另一方面在学习路线选择上,感觉似乎有一个类似标准答案的东西。而实际上,学习是个过程,当处在快不了的时期,静心炼内功好了,急不得。而学习方法,没有唯一,用“逮着耗子就是好猫”的思维,瞄着最终学会的目标,将这个训练过程走下来。
  希望这样的观点对你有用。

网友评论

登录后评论
0/500
评论
贺利坚
+ 关注