清明时节雨

导航

分治法与模块化

  今天看了一会儿分治算法的讲座,产生了这样一种感觉,分治法是模块化的雏形。

  最初的程序编码基于过程,整个程序就是一个长长的过程,不容易理解,也不容易差错。因为程序员开始对代码进行分治,把长长的代码分段,形成一个个较小的过程或函数,如果依旧过长,则再次分段,直到每段代码长度适量。

  再接下来,如果这些子函数或子过程功能不明确,依旧不容易理解,于是逐渐按照特定的功能来进行整合,使得每段代码实现特定的功能。最后,既然每段代码功能相对独立,那就把他们和特定的数据打包,做成黑盒,于是就发展到了模块化。

  分治算法的目标固然不是模块化,让程序结构更清晰也仅仅是其附加功能,分治的目的是降低程序的规模,使O(n)的程序变成O(lgn),但随着硬件和软件工程的发展,分治法逐渐产生了新的内涵。毕竟性能虽然是最基础的东西,但并不是最重要的。

posted on 2013-05-13 16:31  学而不思  阅读(279)  评论(0编辑  收藏  举报