繁体   English   中英

对于时间复杂度为 O(N+M) 的算法,如果 M 总是小于 N,是否可以说时间复杂度为 O(N)?

[英]For an algorithm with a time complexity of O(N+M), if M is always less than N, can we say the time complexity will be O(N)?

给出一个时间复杂度为 O(N+M) 且 M<N 的算法。

我们可以得出结论 O(N+M) => O(N+N) => O(2N) => O(N)

那会是正确的吗?

f(N, M) = O(N + M)是根据定义

E c, N0, M0: A N ≥ N0, M ≥ M0: f(N, M) ≤ c (N + M)

但是根据你的假设,M < N 所以

E c, N0, M0: A N ≥ N0, M ≥ M0: f(N, M) ≤ c (N + M) < c 2N

E c', N0, M0: A N ≥ N0, M ≥ M0: f(N, M) ≤ c' N.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM