方法的時空複雜度

在計算機科學中,有算法的時間複雜度和空間複雜度問題,算法就是計算機領域的方法論四大方面之方法。在方法論中也是如此,有方法的時間複雜度和空間複雜度問題。

何為方法或者策略的時間複雜度?所謂時間複雜度,指的就是策略的執行所需要的時長或者時間。我們要達成一個目標,需要一個達成這個目標的方法,然後在風控的保證下,執行這個方法,達成目標。這是方法論的基本思路。那麼就存在一個執行需要多長時間的問題,這就是方法的時間複雜度。不同的方法論策略,會有不同的時間複雜度,有的可能是一秒,有的可能是一天,有的可能是三個月,有的可能是一年,不一而足。這個時間複雜度是從0到無窮大的,根據不同的策略,時間複雜度不同。解決不同的問題,所需要的方法的時間複雜度不一樣,越是大的目標,難的問題,需要的方法可能越複雜,執行所需要的時間就越長,越是簡單的問題解決方法可能執行的時間會短。解決同一個問題不同的有效方法時間複雜度又可能不一樣,越是好的方法自然執行的時長越短。

空間複雜度指的是策略執行的步驟次數,即,一個策略有多少個步驟。我們前年就寫到過,方法是分步驟的,方法內容是分步驟的,方法的一個個的步驟構成了方法的整體策略內容。方法的步驟個數就是方法的空間複雜度。依然是同時間複雜度,不同的方法,達成不同目標的方法,解決同一個問題的不同的方法的步驟次數可能都不一樣。有的比如一步就解決了問題,有的可能需要分三步才達成目標,有的可能需要100步。同樣,方法的步數是一個自然數,可能取值是從1到無窮大的整數。

一個方法存在這兩個方面的問題,即一個方法要從頭到尾執行完畢是需要時間的,至於多長時間,要看具體的方法論的方法或者它基於的具體的客觀不變固定的世界觀因果鏈條是多長。所以,執行方法要有耐心,根據其要求一步步來,不能心急吃熱豆腐,揠苗助長等。另外一個方面,一個方法的執行是分步驟的,必須是一步步來,而且按照要求執行完第一步再執行第二步,第三步...,最後執行完最後一步,達成目標。不能漏掉其中任何一步的執行,而且執行是有嚴格的順序的,要按照既定的順序一步步執行,不能胡亂執行。

就跟計算機中評價一個算法的時間複雜度和空間複雜度兩個指標一樣,在計算機算法中,時間複雜度越小,一個算法寫成程序代碼後執行需要的時間越短,空間複雜度越小,即佔用的內存越小,那麼算法越好。方法論方法的時空複雜度的評價同樣如此,一個方法執行所需要的時間越短,即在越短時間內達成目標,執行所需要的步數越少,那麼說明這個方法越好。同時,至於一個方法的時空複雜度幾何,這不是人為主觀設定的,想多少就是多少,而是根據客觀領域的客觀規則所唯一規定的。


分享到:


相關文章: