CSCI2100C Data Structures
Complexity Analysis: Growth of
Functions
1
Sibo Wang
Department of Systems Engineering and Engineering Management
Chinese University of Hong Kong
Complexity Analysis: Growth of Functions

CSCI2100C Data Structures
Tutorial/Lab session
Every Thursday,
17:30 - 18:15 (from Week
3), @ERB 602
Week 3: Lab 1 session
Announcement
Complexity Analysis: Growth of Functions
2

CSCI2100C Data Structures
?
𝑛
= 𝑂(?
𝑛 )
if and only if we can find a positive constant
?
and
𝑛
0
such that
?
𝑛
≤ ? ⋅ ?(𝑛)
for all
𝑛 ≥ 𝑛
0
.
Recap of Big-Oh Definition
Complexity Analysis: Growth of Functions
3
? ⋅ ?(𝑛)
?(𝑛)
𝑛
0
𝑛
Implication
?
⋅ ?(𝑛)
grows faster than
?(𝑛)
Since it grows faster, it will
surpass
?(𝑛)
at some point, and
we denote this point as
𝑛
0

CSCI2100C Data Structures
Rule (
i): The polynomial rule:
The biggest eats all
?
𝑛
= 𝑛
3
+ 𝑛
2
+ 𝑛
.
𝑛
3
has
the biggest power, it eats all other terms
•
Therefore
?
𝑛
= 𝑂(𝑛
3
)
Rule (ii): Product property:
The big multiple the big
?
𝑛
=
𝑛 + 1 ⋅
𝑛 + 𝑛
5
.
The first big:
𝑂
𝑛 ,
The second big:
𝑂(𝑛
5
)
?
𝑛
= 𝑂
𝑛 ⋅ 𝑛
5
= 𝑂(𝑛
6
)
Rule (iii): Sum property:
The bigger of the two big
?
𝑛
=
𝑛 + 1 +
𝑛 + 𝑛
5
.
The first big
𝑂(𝑛)
, the second big:
𝑂
𝑛
5
?
𝑛
= 𝑂
max(𝑛, 𝑛
5
)
= 𝑂
𝑛
5
Recap: Big-Oh Rules (i)-(v)
Complexity Analysis: Growth of Functions
4

CSCI2100C Data Structures
Rule (iv):
log only beats constant
?
𝑛
= 𝑛
0.000001
+
log 𝑛
1000
= 𝑂(𝑛
0.000001
)
?
𝑛
= 0.00000001 ⋅ log 𝑛 + 100000 = 𝑂(log 𝑛)
Rule (v):
exponential beats powers
?
𝑛
= 1.00001
?
+ 𝑛
999999
= 𝑂(1.00001
?
)
?
𝑛
= 3
?
+ 4
?
= 𝑂
4
?
Recap: Big-Oh Rules (i)-(v) (cont.)
Complexity Analysis: Growth of Functions
5

CSCI2100C Data Structures
Prove or disprove:
?
𝑛
= 2𝑛 = 𝑂(𝑛
2
)
Wait a second? Isn’t
?
𝑛
= 2𝑛 = 𝑂(𝑛)
?
Recall Big
-Oh denotes the upper bound of the grow
rate of
?(𝑛)
.
There might exist many upper bound
•
?
𝑛
= 2𝑛 = 𝑂(𝑛 ⋅ log 𝑛) = 𝑂
𝑛
2
= 𝑂
𝑛
3
= 𝑂(2
?
)
But we want to find the tightest.
•
We also need the lower bound of the growth rate
Practice
Complexity Analysis: Growth of Functions
6
Fina a constant
?, 𝑛
0
and such that
2𝑛 ≤ ?𝑛
2
for all
𝑛 ≥ 𝑛
0
⇔ 2 ≤ ?𝑛
for all
𝑛 ≥ 𝑛
0
.


You've reached the end of your free preview.
Want to read all 22 pages?
- Spring '19
- Big O notation, Analysis of algorithms, Computational complexity theory, Big-Oh rules