Big o 证明O(max{f(n),g(n)})=O(f(n)+;g(n))

Big o 证明O(max{f(n),g(n)})=O(f(n)+;g(n)),big-o,Big O,我对大O表示法有点困惑,当存在一个最大值时如何证明它。我如何用最大值证明O(max{f(n),g(n)})=O(f(n)+g(n)?假设你是指计算f(n)和g(n)的最大值的时间复杂度。计算两个数字的最大值是一个恒定时间操作*。计算左参数需要O(f(n)),右参数需要O(g(n))。因此O(max{f(n),g(n)}O(1)+O(f(n))+O(g(n))的时间复杂度简化为O(f(n)+g(n)) *注意:取两个值的最大值在计算机中是一个常数时间操作,但计算机不是图灵机。对于大数,确定两个数的

我对大O表示法有点困惑,当存在一个最大值时如何证明它。我如何用最大值证明O(max{f(n),g(n)})=O(f(n)+g(n)?

假设你是指计算f(n)和g(n)的最大值的时间复杂度。计算两个数字的最大值是一个恒定时间操作*。计算左参数需要O(f(n)),右参数需要O(g(n))。因此O(max{f(n),g(n)}O(1)+O(f(n))+O(g(n))的时间复杂度简化为O(f(n)+g(n))

*注意:取两个值的最大值在计算机中是一个常数时间操作,但计算机不是图灵机。对于大数,确定两个数的最大值在数的大小上是线性的

假设你的意思是f(n)和g(n)的最大时间复杂度的顺序。然后使用这样一个事实,即由于max,运行时间将是O(f(n))或O(g(n))。因为O(f(n)+g(n))>O(f(n)),以及O(f(n)+g(n))>O(g(n)),复杂性对于每个可能的结果都是成立的。这有点便宜,但上限不一定很紧