This question already has answers here:
Programmatically obtaining Big-O efficiency of code
(18个答案)
在学习算法和数据结构时,我手动评估我的脚本的BIGO复杂性。比如说,在任何python ide或包中都有一个按钮,可以计算任何给定函数或程序的bigo吗?
更新:
假设我有
为什么我不能写一个分析器,它会说我可以,你可以通过索引访问数组(list)和它的o(1),或者
好的,你有完整的扫描,所以复杂性是O(n)
诸如此类
(18个答案)
在学习算法和数据结构时,我手动评估我的脚本的BIGO复杂性。比如说,在任何python ide或包中都有一个按钮,可以计算任何给定函数或程序的bigo吗?
更新:
假设我有
def print_first_element(a):
print a[0]
为什么我不能写一个分析器,它会说我可以,你可以通过索引访问数组(list)和它的o(1),或者
def print_all_element_of_list(a):
for i in a:
print i
好的,你有完整的扫描,所以复杂性是O(n)
诸如此类
最佳答案
总的来说这是不可能的。这里有一个Python程序可以计算一些程序的复杂性:https://github.com/Mortal/complexity