`f(E, V) = O(E + V)` 的精确定义是什么?
What is the precise definition of `f(E, V) = O(E + V)`?
f(n) = O(n^2)
的定义是什么?
这意味着以下内容:
存在 c > 0
和 n0
这样 f(n) <= c*n^2
对所有 n >= n0
.
f(E, V) = O(E + V)
的准确定义是什么?
在你的情况下,它确实以同样的方式工作。一个有效的定义可能是:
存在 c > 0 和 n0 使得 f(E, V) <= c*(E+V) 对于所有 E, V >= n0。
但是,您也可以对其进行不同的定义,例如通过引入两个变量 c, d > 0 并要求 f(E,V) <= cE + dE。两者都是有效的定义。
但是,您很可能在图算法的上下文中遇到过此定义,其中 E 是边数,V顶点的数量。时间复杂度 O(E + V) 在这个领域经常出现,因为它实际上与 O(max(E, V))。仍然是线性时间复杂度。
f(n) = O(n^2)
的定义是什么?
这意味着以下内容:
存在 c > 0
和 n0
这样 f(n) <= c*n^2
对所有 n >= n0
.
f(E, V) = O(E + V)
的准确定义是什么?
在你的情况下,它确实以同样的方式工作。一个有效的定义可能是:
存在 c > 0 和 n0 使得 f(E, V) <= c*(E+V) 对于所有 E, V >= n0。
但是,您也可以对其进行不同的定义,例如通过引入两个变量 c, d > 0 并要求 f(E,V) <= cE + dE。两者都是有效的定义。
但是,您很可能在图算法的上下文中遇到过此定义,其中 E 是边数,V顶点的数量。时间复杂度 O(E + V) 在这个领域经常出现,因为它实际上与 O(max(E, V))。仍然是线性时间复杂度。