关于算法的一点思考。。。
在实践过程中,我发现:有时候要解决一个问题,可以设计几个算法分步完成任务,这样处理起来比较简单,但是情况并非总是如此,有时,我们需要将几个步骤放在同一个算法内连带处理,这样才比较容易处理问题。
我还发现,有时候,解决问题的算法,是被发现出来的,并加以一步一步的检验才得以确定的,而非通过各种理论证明计算出来的,当然,有些算法也需要理论支持,不过它们也必须先被发现才行。
从这个角度来看,先有 发现 ,后有 检验,必要时 加以理论分析证明 ,才有 算法。
不要拘泥于证明,而要重视 发现 与 检验。
还有,在编写较大的程序,一定要先建立一个主框架,在此框架内将所要用到的函数逐一列出,注意顺便把参数、返回值之类的接口一并附上。然后逐一完善,这理所当然是自上向下编程。为了减少编程错误,强烈建议每一次完善过后,就编译链接一次。实践证明,这是非常有效的编程方式。另外,不要熬夜,熬夜只会让自己精力消耗殆尽,宁可早点起床工作,也不要熬夜赶工。
做任何事情,都要把握好层次这个关键因素。
其实,问题可以很复杂,也可以很简单。