【发布时间】:2013-01-24 20:33:48
【问题描述】:
我对可以推断其自身时间复杂度的编程语言很感兴趣。为此,以某种方式以编程方式表示时间复杂度将非常有用,这将允许我执行以下操作:
f_time = O(n)
g_time = O(n^2)
h_time = O(sqrt(n))
fastest_asymptotically = min(f_time, g_time, h_time) # = h_time
total_time = f_time.inside(g_time).followed_by(h_time) # = O(n^3)
我目前正在使用 Python,但我并不特别依赖于一种语言。我已经对sympy 进行了试验,但我无法在那里找到我需要的开箱即用的东西。
是否有提供此功能的库?如果没有,是否有一种简单的方法可以使用符号数学库完成上述操作?
编辑:我按照@Patrick87 的建议写了a simple library,它似乎有效。不过,我仍然对这个问题是否有其他解决方案感兴趣。
【问题讨论】:
标签: python complexity-theory time-complexity asymptotic-complexity sympy