我找到了关于分析算法的规则:
O(max{f(n),g(n)}) = O(f(n)+g(n))
Run Code Online (Sandbox Code Playgroud)
怎么证明这个?
我知道:
max{f(n),g(n)} <= f(n)+g(n) <= 2 * max{f(n),g(n)}
Run Code Online (Sandbox Code Playgroud)
从而:
max{f(n),g(n)} is O(f(n)+g(n))
max{f(n),g(n)} is O(max{f(n),g(n)})
f(n)+g(n) is O(max{f(n),g(n)})
Run Code Online (Sandbox Code Playgroud)
但是之后
如果a是O(b)而b是O(a)那么O(a)= O(b)?