0x01 证明 O ( f ) + O ( g ) = O ( f + g ) O(f)+O(g) = O(f+g) O(f)+O(g)=O(f+g)
令 F ( n ) = O ( f ) F(n)=O(f) F(n)=O(f),则存在自然数 n 1 n_1 n1、正数 c 1 c_1 c1,使得任意自然数 n ≥ n 1 n\geq n_1 n≥n1,有:
- F ( n ) ≤ c 1 f ( n ) F(n)\leq c_1f(n) F(n)≤c1f(n)
同理,令 G ( n ) = O ( g ) G(n)=O(g) G(n)=O(g),存在自然数 n 2 n_2 n2,正数 c 2 c_2 c2,使得对任意自然数 n ≥ n 2 n\geq n_2 n≥n2,有:
- G ( n ) ≤ c 2 g ( n ) G(n)\leq c_2g(n) G(n)≤c2g(n)
令 c 3 = m a x ( c 1 , c 2 ) c_3=max(c_1,c_2) c3=max(c1,c2), n 3 = m a x ( n 1 , n 2 ) n_3=max(n_1,n_2) n3=max(n1,n2),则对所有的 n ≥ n 3 n\geq n_3 n≥n3,有:
- F ( n ) ≤ c 1 f ( n ) ≤ c 3 f ( n ) F(n)\leq c_1f(n)\leq c_3f(n) F(n)≤c1f(n)≤c3f(n)
- G ( n ) ≤ c 2 g ( n ) ≤ c 3 g ( n ) G(n)\leq c_2g(n) \leq c_3g(n) G(n)≤c2g(n)≤c3g(n)
故:
- O ( f ) + O ( g ) = F ( n ) + G ( n ) ≤ c 3 f ( n ) + c 3 g ( n ) = c 3 ( f ( n ) + g ( n ) ) O(f)+O(g)=F(n)+G(n)\leq c_3f(n)+c_3g(n)=c_3(f(n)+g(n)) O(f)+O(g)=F(n)+G(n)≤c3f(n)+c3g(n)=c3(f(n)+g(n))
即得证。
0x02 证明 θ ( f ) + θ ( g ) = θ ( f + g ) \theta(f)+\theta(g) = \theta(f+g) θ(f)+θ(g)=θ(f+g)
令 F ( n ) = θ ( f ) F(n)=\theta (f) F(n)=θ(f),则存在自然数 n 1 n_1 n1和正数 c 1 c_1 c1、 c 2 c_2 c2,使得任意自然数 n ≥ n 1 n\geq n_1 n≥n1,有:
- c 1 f ( n ) ≤ F ( n ) ≤ c 2 f ( n ) c_1f(n)\leq F(n)\leq c_2f(n) c1f(n)≤F(n)≤c2f(n)
同理,令 G ( n ) = θ ( g ) G(n)=\theta (g) G(n)=θ(g),存在自然数 n 2 n_2 n2和正数 c 3 c_3 c3、 c 4 c_4 c4,使得对任意自然数 n ≥ n 2 n\geq n_2 n≥n2,有:
- c 3 g ( n ) ≤ G ( n ) ≤ c 4 g ( n ) c_3g(n)\leq G(n)\leq c_4g(n) c3g(n)≤G(n)≤c4g(n)
得:
- c 1 f ( n ) + c 3 g ( n ) ≤ F ( n ) + G ( n ) ≤ c 2 f ( n ) + c 4 g ( n ) c_1 f(n)+c_3 g(n) \leq F(n) + G(n) \leq c_2 f(n) + c_4 g(n) c1f(n)+c3g(n)≤F(n)+G(n)≤c2f(n)+c4g(n)
存在 c 1 = c 3 c_1=c_3 c1=c3、 c 2 = c 4 c_2=c_4 c2=c4,使得:
- c 1 ( f ( n ) + g ( n ) ) ≤ F ( n ) + G ( n ) ≤ c 2 ( f ( n ) + g ( n ) ) c_1 (f(n)+g(n)) \leq F(n) + G(n) \leq c_2 (f(n) + g(n)) c1(f(n)+g(n))≤F(n)+G(n)≤c2(f(n)+g(n))
即得证。
0x03 证明 m a x ( θ ( f ) , θ ( g ) ) = θ ( f + g ) max(\theta (f),\theta (g))=\theta (f+g) max(θ(f),θ(g))=θ(f+g)
网上看到的一些类似证明,我觉得都不是很合理,可能本人智商欠费的原因QAQ
令 F ( n ) = θ ( f ) F(n)=\theta (f) F(n)=θ(f),则存在自然数 n 1 n_1 n1和正数 c 1 c_1 c1、 c 2 c_2 c2,使得任意自然数 n ≥ n 1 n\geq n_1 n≥n1,有:
- c 1 f ( n ) ≤ F ( n ) ≤ c 2 f ( n ) c_1f(n)\leq F(n)\leq c_2f(n) c1f(n)≤F(n)≤c2f(n)
同理,令 G ( n ) = θ ( g ) G(n)=\theta (g) G(n)=θ(g),存在自然数 n 2 n_2 n2和正数 c 3 c_3 c3、 c 4 c_4 c4,使得对任意自然数 n ≥ n 2 n\geq n_2 n≥n2,有:
- c 3 g ( n ) ≤ G ( n ) ≤ c 4 g ( n ) c_3g(n)\leq G(n)\leq c_4g(n) c3g(n)≤G(n)≤c4g(n)
得:
- c 1 f ( n ) + c 3 g ( n ) ≤ F ( n ) + G ( n ) ≤ c 2 f ( n ) + c 4 g ( n ) c_1 f(n)+c_3 g(n) \leq F(n) + G(n) \leq c_2 f(n) + c_4 g(n) c1f(n)+c3g(n)≤F(n)+G(n)≤c2f(n)+c4g(n)
存在 c 1 = c 3 c_1=c_3 c1=c3、 c 2 = c 4 c_2=c_4 c2=c4,使得:
- c 1 ( f ( n ) + g ( n ) ) ≤ F ( n ) + G ( n ) ≤ c 2 ( f ( n ) + g ( n ) ) c_1 (f(n)+g(n)) \leq F(n) + G(n) \leq c_2 (f(n) + g(n)) c1(f(n)+g(n))≤F(n)+G(n)≤c2(f(n)+g(n))
显然的
- c 1 ′ ( f ( n ) + g ( n ) ) ≤ m a x ( F ( n ) , G ( n ) ) ≤ F ( n ) + G ( n ) ≤ c 2 ( f ( n ) + g ( n ) ) c_1' (f(n)+g(n)) \leq max(F(n), G(n)) \leq F(n) + G(n) \leq c_2 (f(n) + g(n)) c1′(f(n)+g(n))≤max(F(n),G(n))≤F(n)+G(n)≤c2(f(n)+g(n))
这里 c 1 ′ c_1' c1′取 1 2 c 1 \frac {1}{2}c_1 21c1即可。
0x04 证明 θ ( f ) ⋅ θ ( g ) = θ ( f ⋅ g ) \theta(f)\cdot \theta(g) = \theta(f\cdot g) θ(f)⋅θ(g)=θ(f⋅g)
令 F ( n ) = θ ( f ) F(n)=\theta (f) F(n)=θ(f),则存在自然数 n 1 n_1 n1和正数 c 1 c_1 c1、 c 2 c_2 c2,使得任意自然数 n ≥ n 1 n\geq n_1 n≥n1,有:
- c 1 f ( n ) ≤ F ( n ) ≤ c 2 f ( n ) c_1f(n)\leq F(n)\leq c_2f(n) c1f(n)≤F(n)≤c2f(n)
同理,令 G ( n ) = θ ( g ) G(n)=\theta (g) G(n)=θ(g),存在自然数 n 2 n_2 n2和正数 c 3 c_3 c3、 c 4 c_4 c4,使得对任意自然数 n ≥ n 2 n\geq n_2 n≥n2,有:
- c 3 g ( n ) ≤ G ( n ) ≤ c 4 g ( n ) c_3g(n)\leq G(n)\leq c_4g(n) c3g(n)≤G(n)≤c4g(n)
得:
- c 1 f ( n ) ⋅ c 3 g ( n ) ≤ F ( n ) ⋅ G ( n ) ≤ c 2 f ( n ) ⋅ c 4 g ( n ) c_1 f(n)\cdot c_3 g(n) \leq F(n) \cdot G(n) \leq c_2 f(n) \cdot c_4 g(n) c1f(n)⋅c3g(n)≤F(n)⋅G(n)≤c2f(n)⋅c4g(n)
即得证。
0x05 证明 θ ( m a x ( f ( n ) , g ( n ) ) ) = θ ( f + g ) \theta(max(f(n), g(n)))=\theta (f+g) θ(max(f(n),g(n)))=θ(f+g)
令 F ( n ) = θ ( f ) F(n)=\theta (f) F(n)=θ(f),则存在自然数 n 1 n_1 n1和正数 c 1 c_1 c1、 c 2 c_2 c2,使得任意自然数 n ≥ n 1 n\geq n_1 n≥n1,有:
- c 1 f ( n ) ≤ F ( n ) ≤ c 2 f ( n ) c_1f(n)\leq F(n)\leq c_2f(n) c1f(n)≤F(n)≤c2f(n)
同理,令 G ( n ) = θ ( g ) G(n)=\theta (g) G(n)=θ(g),存在自然数 n 2 n_2 n2和正数 c 3 c_3 c3、 c 4 c_4 c4,使得对任意自然数 n ≥ n 2 n\geq n_2 n≥n2,有:
- c 3 g ( n ) ≤ G ( n ) ≤ c 4 g ( n ) c_3g(n)\leq G(n)\leq c_4g(n) c3g(n)≤G(n)≤c4g(n)
得:
- c 1 f ( n ) + c 3 g ( n ) ≤ F ( n ) + G ( n ) ≤ c 2 f ( n ) + c 4 g ( n ) c_1 f(n)+c_3 g(n) \leq F(n) + G(n) \leq c_2 f(n) + c_4 g(n) c1f(n)+c3g(n)≤F(n)+G(n)≤c2f(n)+c4g(n)
存在 c 1 = c 3 c_1=c_3 c1=c3、 c 2 = c 4 c_2=c_4 c2=c4,使得:
- c 1 ( f ( n ) + g ( n ) ) ≤ F ( n ) + G ( n ) ≤ c 2 ( f ( n ) + g ( n ) ) c_1 (f(n)+g(n)) \leq F(n) + G(n) \leq c_2 (f(n) + g(n)) c1(f(n)+g(n))≤F(n)+G(n)≤c2(f(n)+g(n))
显然的
- c 1 ′ ( f ( n ) + g ( n ) ) ≤ θ ( m a x ( f ( n ) , g ( n ) ) ) ≤ F ( n ) + G ( n ) ≤ c 2 ( f ( n ) + g ( n ) ) c_1' (f(n)+g(n)) \leq \theta(max(f(n), g(n))) \leq F(n) + G(n) \leq c_2 (f(n) + g(n)) c1′(f(n)+g(n))≤θ(max(f(n),g(n)))≤F(n)+G(n)≤c2(f(n)+g(n))
这里 c 1 ′ c_1' c1′取 1 2 c 1 \frac {1}{2}c_1 21c1即可。