我对可以推断其自身时间复杂度的编程语言感兴趣。为此,以某种方式以编程方式表示时间复杂度将非常有用,这将允许我执行以下操作:
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的建议编写了一个简单的库,它似乎有效。不过,我仍然对这个问题是否有其他解决方案感兴趣。