方法的时空复杂度

在计算机科学中,有算法的时间复杂度和空间复杂度问题,算法就是计算机领域的方法论四大方面之方法。在方法论中也是如此,有方法的时间复杂度和空间复杂度问题。

何为方法或者策略的时间复杂度?所谓时间复杂度,指的就是策略的执行所需要的时长或者时间。我们要达成一个目标,需要一个达成这个目标的方法,然后在风控的保证下,执行这个方法,达成目标。这是方法论的基本思路。那么就存在一个执行需要多长时间的问题,这就是方法的时间复杂度。不同的方法论策略,会有不同的时间复杂度,有的可能是一秒,有的可能是一天,有的可能是三个月,有的可能是一年,不一而足。这个时间复杂度是从0到无穷大的,根据不同的策略,时间复杂度不同。解决不同的问题,所需要的方法的时间复杂度不一样,越是大的目标,难的问题,需要的方法可能越复杂,执行所需要的时间就越长,越是简单的问题解决方法可能执行的时间会短。解决同一个问题不同的有效方法时间复杂度又可能不一样,越是好的方法自然执行的时长越短。

空间复杂度指的是策略执行的步骤次数,即,一个策略有多少个步骤。我们前年就写到过,方法是分步骤的,方法内容是分步骤的,方法的一个个的步骤构成了方法的整体策略内容。方法的步骤个数就是方法的空间复杂度。依然是同时间复杂度,不同的方法,达成不同目标的方法,解决同一个问题的不同的方法的步骤次数可能都不一样。有的比如一步就解决了问题,有的可能需要分三步才达成目标,有的可能需要100步。同样,方法的步数是一个自然数,可能取值是从1到无穷大的整数。

一个方法存在这两个方面的问题,即一个方法要从头到尾执行完毕是需要时间的,至于多长时间,要看具体的方法论的方法或者它基于的具体的客观不变固定的世界观因果链条是多长。所以,执行方法要有耐心,根据其要求一步步来,不能心急吃热豆腐,揠苗助长等。另外一个方面,一个方法的执行是分步骤的,必须是一步步来,而且按照要求执行完第一步再执行第二步,第三步...,最后执行完最后一步,达成目标。不能漏掉其中任何一步的执行,而且执行是有严格的顺序的,要按照既定的顺序一步步执行,不能胡乱执行。

就跟计算机中评价一个算法的时间复杂度和空间复杂度两个指标一样,在计算机算法中,时间复杂度越小,一个算法写成程序代码后执行需要的时间越短,空间复杂度越小,即占用的内存越小,那么算法越好。方法论方法的时空复杂度的评价同样如此,一个方法执行所需要的时间越短,即在越短时间内达成目标,执行所需要的步数越少,那么说明这个方法越好。同时,至于一个方法的时空复杂度几何,这不是人为主观设定的,想多少就是多少,而是根据客观领域的客观规则所唯一规定的。


分享到:


相關文章: