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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值