刷题的目的是学会分析、解决问题,经典问题和算法不是用来背的,而是用来学习和锻炼编程思维的,久而久之你才能具备独立分析解决新问题的能力,学习编程要至少经过几个阶段:
阶段一:学会用:掌握了语法
阶段二:学会用来解决问题:掌握了解决同类问题的方法
阶段三:学会解决问题:掌握了解决不同问题的方法
阶段四:学会解决一类问题:掌握了解决一类问题的各种方法
至此,能从算法描述快速准确的转化为代码,能筛选适合解决这个问题的算法;没有神犇能对各种算法的代码都熟烂于心,也没有神犇不能从算法描述快速准确的写出算法代码。
对每个问题认真分析,对每个想法画图验证;让每个变量顾名思义大小合适,让每段代码格式规范注释清晰;使每个语句都能按你的想法正确工作。良好编程习惯是走的更远的基本保障,注重细节从不偷懒是每个神犇一直在坚守的成功秘诀。
优秀的程序员很清楚自己的能力是有限的,所以他对待编程任务的态度是完全谦卑的,特别是,他们会象逃避瘟疫那样逃避 “聪明的技巧”。——埃德斯加·迪杰斯特拉于1972图灵奖演讲。
不要害怕提问: 学习编程的过程中,遇到问题是很正常的。 不要害怕提问,寻求帮助可以更快地解决问题,并加深对知识的理解。
坚持练习: 编程是一门实践性很强的学科,只有通过不断的练习才能提高编程技能。 不要害怕犯错,从错误中学习,不断改进自己的代码。
阅读优秀的代码: 阅读优秀的代码可以学习到好的编程风格和技巧,也可以帮助初学者理解复杂的代码结构。
保持好奇心: 对编程保持好奇心,不断探索新的技术和方法,才能在编程领域不断进步。
学习编程是一个循序渐进的过程,需要耐心和坚持。 希望 Dijkstra 的名言能够帮助初学者更好地学习编程,并在编程的道路上走得更远。