2013-07-29 23 views
2

當我調用cProfile.run('myFunction1')時,它返回一些函數調用。cProfile.run函數調用與複雜度

我想比較各種版本的myFunction並找到最有效的一個(例如複雜度最低)。

function callscomplexity之間的連接是什麼?

函數調用描述了什麼?

如果我有兩個函數,函數調用次數最少的函數是最有效的函數嗎?

回答

1

函數調用的數量正是這個意思:(子)函數調用的數量。 函數調用和複雜性之間沒有嚴格的相關性。 要找到最有效的有效的實現,你應該嘗試將你的函數映射到不同的參數集並對其進行計時。使用timeit模塊。

計算函數的複雜度對於單個答案來說是一個太寬的參數。它取決於算法本身以及它所調用的子功能的複雜性。

此處爲更多:https://en.wikipedia.org/wiki/Analysis_of_algorithms