算法的输入是m
and n
.
我的算法的时间复杂度是O(mn)
.
我有一个时间复杂度为的基准算法O((m+n)²)
.
我的实现在时间复杂度方面是否优于基准?
许多评论者和回答者希望只考虑以下情况:m = n
或者至少当它们通过一个常数因子相关时。这不是它的工作原理。
当我们持有其中之一时,你的算法显然更快m
or n
持续的;例如,如果我们将自己限制在这种情况下m = 1
那么你的算法的复杂度是O(n)
而另一种选择是O(n^2)
,所以在这种受限情况下你的显然更好。
我们能说的是(m+n)^2 = m^2 + n^2 + 2mn
显然是Ω(mn)
where Ω
意味着这是一个下界,并且您的算法(渐进地)总是至少一样好;即,不存在其他算法渐近优于您的算法的限制情况。但我们确实知道在有限的情况下您的情况会更好。所以,总的来说,你的更好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)