#blogTitle{ background-color:#0FF; }

程序的本质

    程序是对真实世界的映射,真实世界的复杂度决定了程序的复杂度,而变化就是真实世界的本质。

变量,对应个体。时间,是控制程序适应变化的唯一工具。

    程序的结构是输入,输出,逻辑处理。也有程序=数据结构+算法的说法,本质上是一样的,输入输出就是对应数据结构,然而由于输入输出的不确定性,导致复杂度急剧上升,同时输入输出的数量巨大导致衍生出许多的数据结构才能处理各式各样的数据形式。通过各种方式来降低输入输出的数量,于是有了各种分布式系统,但同时又对逻辑处理带来巨大的麻烦。逻辑处理无非是顺序,分支,循环,加上最关键的时间要素,构成了处理输入输出数据基本框架。

   对于程序复杂度的分析,可以从两个维度来入手,自然就是熟悉的空间复杂度,时间复杂度,无一不是控制输入输出与逻辑处理联系的手段。任何的算法思路,为了解决特定问题,都是通过牺牲空间或者时间的一种来平衡对应的需求。对于空间而言,由于不同场景下对于空间要求的不同,需要平衡内存与硬盘的传输,于是就有了缓存,所以对于难以解决的问题,通过加一层缓冲往往也能达到效果。对于时间,正是由于传输速度的不同,才需要加中间层来降低传输的效率,为了监控逻辑处理中的时序,往往需要时间戳来管理整个逻辑处理过程的走向。

 

posted @ 2018-05-19 08:53  甘雨火光  阅读(609)  评论(0编辑  收藏  举报