如何想出解题编程思路和算法?
观点1
在假设题主懂编程语言基础语法的前提下,我提供以下思路
1.首先从问题的基本定义入手,尝试理解人是如何解决它的
2.拿出笔和草稿纸,尝试用手工方法一步一步解题(细化到每一个数值运算),并把步骤都写下来(不论有多长)
3.分析写下的步骤,尝试把每一个步骤都准确无误转换成代码,敲进去(最好加上注释,说明你此时是怎么想的)
4.写完后在回过头读代码,尝试将重复的代码精简(将重复的计算写到循环里之类的),
5.测试你的代码是否对其他值也有效,如果无效请回到第二步。我就是这样学算法的,其实大部分时候做到第三步一半时你就会发现可以精简代码了。
个人经验,仅供参考
作者:starsriver aky
链接:https://www.zhihu.com/question/21775108/answer/54448716
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
观点2
编程想不出算法怎么办? - 腾天的回答 - 知乎
https://www.zhihu.com/question/21775108/answer/58653378
观点3
我觉得题主是思维没建立起来,可以试试一下几部:
1,首先想想,你要写的问题,你不用程序能不能完成,比如说,给你一个数字,你用笔能不能算出它是否是质数。这一步是基础,如果这一步有问题,那下面就难了,就好像让你去教一个你自己都不会的问题,你怎么能教会别人。
2,分析自己是怎么做的,一步一步的总结,你在解决问题的时候都做了什么事情,遇到什么问题,它们都是怎么被你解决的。
3,教给计算机,想象计算机是一个没有理解能力的孩子,他只能听懂步骤,而无法归纳总结,你不举任何例子,只通过步骤性的描述,计算机明白你的问题。
4,敲代码
最后,初期你也可以不明白,就是硬做,随便在网上找什么入门100题的,就是做,不会就看答案,只要这100题,题主能刷完,并且能自己做出来,不管是背下来还是理解的,你都不会再有问题了。
作者:Bndroid
链接:https://www.zhihu.com/question/21775108/answer/55700413
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。