标签:
杂谈 |
分类: 算法 |
按照符号O的定义,证明其の运算规则:
①O(f(n))+O(g(n)) = O(max{f(n),g(n)})
②O(f(n))+O(g(n)) = O(f+g)
③O(f)+O(g) = O(fg)
O(f(n))+O(g(n)) = O(max{f(n),g(n)})
证明:
设f(N)和g(N)是定义在正数集上的正函数
设F(N)= Ο(f)
根据记号Ο的定义,存在正常数C1和自然数N1,使得对所有的N≥N1,有F(N)≤C1 f(N)。
类似地,设G(N)=Ο(g),则存在正的常数C2和自然数N2使得对所有的N≥N2有G(N)≤C2g(N)
令:C3=max(C1, C2) N3=max(N1, N2)
和对任意的非负整数N,h(N)=max(f,g),
则对所有的N≥N3有:
F(N)≤C1f(N)≤C1h(N)≤C3h(N)
类似地,有:
G(N)≤C2g(N)≤C2h(N)≤C3h(N)
因而
Ο(f)+Ο(g) =F(N)+G(N)≤C3h(N)+ C3h(N)
=2C3h(N)
=Ο(h)
=Ο(max(f,g))
转载:
http://hi.baidu.com/�����ltl/blog/item/e1375710ff9ccbc0c3fd78fc
前一篇:OpenCV人脸检测代码分析
后一篇:学会读人