算法只是一种思维
我在思维上没有什么弱点,也可以想的比较深入。可能存在的弱项:短期记忆力,速度。
编程主要是逻辑上的思考,对于数学知识方面要求不高,只要有逻辑思维就好。(数学其实一定程度上提高了这种能力,所以说数学学得好的人可能有些许的优势,但这不代表数学不好的人学不好编程)
学习编程开始的时候就是得多用多练多看,从简单的小问题代码开始,到后来慢慢的想到什么问题,就可以试图用程序来独立解决。在实践中编程能力才会提高。陷入简单机械的代码阅读中,就难以提高了。
作者:Sean.Z
链接:https://www.zhihu.com/question/23235458/answer/24885813
However, Steve Jobs is a designer instead of a programmer, he know little about writing computer code.
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
“编程就是玩游戏。”
作者:ydc
链接:https://www.zhihu.com/question/40790419/answer/88248477
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
没有。
但是学习方法很重要。
你让一个联赛普及组水平的人,去学后缀自动机,肯定怎么都学不会。
这个时候可以选择先放下,然后去学些符合自己情况的,或许若干年后再来看就能学会了。
(至今为止后缀自动机怎么都学不会的答主飘过)
很多时候怎么都学不会是一个错觉。
你在放假的时候学着学着点开了bilibili,你在还没学过Splay的时候去学动态仙人掌,你让没有接触过欧拉函数更没接触过莫比乌斯函数的人去看JZPKIL的题解,你昨天刚刚熬夜今天早上爬起来啃论文,你拿着一个满纸学术用语高大上的让你望而生畏的课件……各种各样的因素很容易让人弃疗觉得自己怎么都学不会。
我应该是智商比较低的那种人,线段树的lazy-tag要想几天,学Splay又要想几天,学过可持久化线段树又要想几天,当时觉得怎么都学不会,非常羡慕机房里一看就懂的同学。
可是回过头来看,这些东西其实真的很没有那么难,静下心来慢慢学总能学懂,FFT如是,KMP如是。
最后说说学习方法。
算是为自己学这些简单数据结构学得这么吃力找借口。
学习新知识的时候,首先要找一个好的资料,保持清晰的头脑,然后开始逐字阅读……
然后一定要随时提醒自己:不要发呆,不要发呆,不要发呆!!!
事实上我觉得学习新算法,最容易遇到的就是发呆……由于对这个算法的定义、思想、原理等等非常陌生,不能和以前学过的进行类比,所以很难进入思考的状态,然后就变成了单纯的在默读论文,然后一天就过去了。