时间复杂度
你好 我有一个问题:
考虑我有 T(n) = m * n^2 (n
T(n) = O(m)
这样写是否正确?因为我写了 T(n) = m*n*n
所以因为 n
T(n) = O(m)
>
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
你好 我有一个问题:
考虑我有 T(n) = m * n^2 (n
T(n) = O(m)
这样写是否正确?因为我写了 T(n) = m*n*n
所以因为 n
T(n) = O(m)
>
谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
不,你能做的最好的事情就是编写
T(n,m) = O(m^3)
。 <代码>n < m 是一个非常弱的条件,基本上只是在 O(m) 中给出n
。例如,n 始终可以是m-1
。编辑:我的第一个答案不精确,因为 T 只是 n 中的函数。如果 m 是常数,答案仍然成立,但 O(m^3) 等于 O(1)。
No, the best thing you can do is to write
T(n,m) = O(m^3)
.n < m
is a very weak condition and basically just gives youn in O(m)
. For example, n could always bem-1
.Edit: My first answer was imprecise, as T was only a function in n. If m is constant, the answer is still holds, but O(m^3) is equal to O(1).
我相信在这种情况下 T(n) = O(n^2)
正式定义大O的:
在您的情况下,T(n) 将始终小于或等于 m(n^2)。
I believe in this case T(n) = O(n^2)
The formal definition of big-O:
In your case, T(n) will always be less than or equal to m(n^2).