请教编程高手:如何培养编写算法的思路?

来源:百度知道 编辑:UC知道 时间:2024/05/23 14:17:22
本人是准备考研的学生,目前在自学数据结构(C++描述)。
感到算法的编写是最吃力的。见到一个新的问题,往往没有思路,抑或是思路很混乱(尤其是涉及循环问题的时候)。
请不必建议我多阅读算法,理解吃透。见过的算法我是的确一句句分析过的,但是感觉还是没有多大长进。
请编程高手指教:我该怎样做才能有一个质的飞跃呢?你们当年初学编写算法的时候又是怎样“涅磐”的呢?请不要从网上大片摘抄,需要的是高手自己的经验和见解。谢谢了!:)
PS: 1.我所指的是,编写小算法的思路,也就是如何构建它的框架。
并非我不知道要先画流程图,也不是做很大的项目。
只要有了一个很清晰的思路,,别的都不是问题。
所以想听听高手对于培养这种思路的经验和建议。
2.对于一道编写算法的题,在读正确答案之前,我都有认真思考的过程,但是思路就是很混乱。并非我只是单一的读别人的算法,而不亲自动手去做。

"对于一道编写算法的题,在读正确答案之前,我都有认真思考的过程,但是思路就是很混乱"这是很正常的,再猛的高手遇到问题也不会一目了然的,要有一个整理思路的过程,画框图是一个很好整理思路的过程,思想混乱说明你的思维比较敏感,对每一个问题都会不由自主进行一下发散思考,太多的分支结果导致混乱,就像你进入了一个出不来的递归一样,说了这么多费话,想要表达的意思就是说,只要你不断的去写code,你会发现你在不知不觉中思路就清晰起来了,比如编一个聊天室,你立刻就会知道大体需要哪几个模块,当你自己很彻底地编出一个聊天室了,再去写一个像QQ里面在线纸牌游戏的时候,思路就会立刻清晰起来,因为他们的原理差不多,只不过纸牌客户端复杂一点而已,又说了一堆费话在,我是想说,当然只是个人观点,经验在编程过程中是非常重要的,所以你的混乱的问题不是问题,加油

=====================================================================

偶不是专业写程序的,目前自学写点程序只是兴趣,所以水平有限,只是自身的一点感受。

1 程序事例,有代表性的看一点就够了,
2 一门语言的语法基础的东西要非常熟练
3 闭门造车,自己写程序,写属于自己的程序,写一些小游戏,如果不会就从最简单的开始写,10以内的乘法口决,各种常见的数学计算公式实现(如阶乘),计算器,猜数字,扫雷,等等等等

总之,只有自己写了,才会有自己的思路,你读别人的程序就是像背诵别人的文章,如果不写自己的文章,永远也不会有自己的风格

    选一本出色的教材.有条件就看英文的,然后给自己一个环境,例如LINUX+GCC+GDB,用纯粹的语言去在解决问题的过程中学习算法.
    没有目的性去学习,往往效率不高,可以找一些ONLINE JUDGE的题目做做.例如Welcome To PKU JudgeOnline,对着里面的问题,先自己思考,尝试编程解决,如果不能解决,就翻翻算法书,想想为什么.

    如果还是不行,那就上网看看别人有没有解决掉,怎么做,