SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Today’s Outline
• Admin: Assignment #1 due next thurs. at
11:59pm
• Asymptotic analysis

Asymptotic Analysis
CSE 373
Data Structures & Algorithms
Ruth Anderson
Spring 2007

04/04/08

2

Linear Search vs Binary Search
Linear Search

Binary Search

Best Case

Asymptotic Analysis

Worst Case

So … which algorithm is better?
What tradeoffs can you make?
04/04/08

Fast Computer vs. Slow Computer

04/04/08

5

4

Fast Computer vs. Smart Programmer
(round 1)

04/04/08

6

1
Fast Computer vs. Smart Programmer
(round 2)

Asymptotic Analysis
• Asymptotic analysis looks at the order of the
running time of the algorithm
– A valuable tool when the input gets “large”
– Ignores the effects of different machines or different
implementations of the same algorithm

• Intuitively, to find the asymptotic runtime, throw
away the constants and low-order terms
– Linear search is T(n) = 3n + 2 ∈ O(n)
– Binary search is T(n) = 4 log2n + 4 ∈ O(log n)

04/04/08

7

Remember: the fastest algorithm has the
slowest growing function for its runtime
8

04/04/08

Order Notation: Intuition

Asymptotic Analysis
• Eliminate low order terms
– 4n + 5 ⇒
– 0.5 n log n + 2n + 7 ⇒
– n3 + 2n + 3n ⇒

f(n) = n3 + 2n2
g(n) = 100n2 + 1000

• Eliminate coefficients
– 4n ⇒
– 0.5 n log n ⇒
– n log n2 =>

04/04/08

9

Although not yet apparent, as n gets “sufficiently
large”, f(n) will be “greater than or equal to” g(n)10
04/04/08

Order Notation: Definition

Definition of Order Notation
•

Upper bound: T(n) = O(f(n))

O( f(n) ) : a set or class of functions

Big-O

Exist constants c and n’ such that
T(n) ≤ c f(n) for all n ≥ n’

•

Lower bound: T(n) = Ω(g(n))

g(n) ∈ O( f(n) ) iff there exist consts c and n0 such that:
g(n) ≤ c f(n) for all n ≥ n0

Omega

Exist constants c and n’ such that
T(n) ≥ c g(n) for all n ≥ n’

•

Tight bound: T(n) = θ(f(n))

Example: g(n) =1000n vs. f(n) = n2
Is g(n) ∈ O( f(n) ) ?
Pick: n0 = 1000, c = 1

Theta

When both hold:
T(n) = O(f(n))
T(n) = Ω(f(n))
04/04/08

11

04/04/08

12

2
Order Notation: Example

Notation Notes
Note: Sometimes, you’ll see the notation:
g(n) = O(f(n)).
This is equivalent to:
g(n) ∈ O(f(n)).
However: The notation
O(f(n)) = g(n)

is meaningless!

(in other words big-O is not symmetric)
04/04/08

13

04/04/08

100n2 + 1000 ≤ 5 (n3 + 2n2) for all n ≥ 19
So f(n) ∈ O( g(n) )

Big-O: Common Names
–
–
–
–
–
–
–
–

constant:
logarithmic:
linear:
log-linear:
quadratic:
cubic:
polynomial:
exponential:

O(1)
O(log n)
O(n)
O(n log n)
O(n2)
O(n3)
O(nk)
O(cn)

14

Meet the Family

(logkn, log n2 ∈ O(log n))

• O( f(n) ) is the set of all functions asymptotically
less than or equal to f(n)
– o( f(n) ) is the set of all functions asymptotically
strictly less than f(n)

• Ω( f(n) ) is the set of all functions asymptotically
greater than or equal to f(n)
– ω( f(n) ) is the set of all functions asymptotically
strictly greater than f(n)

(k is a constant)
(c is a constant > 1)

04/04/08

• θ( f(n) ) is the set of all functions asymptotically
equal to f(n)
15

04/04/08

16

Big-Omega et al. Intuitively

Meet the Family, Formally
• g(n) ∈ O( f(n) ) iff
There exist c and n0 such that g(n) ≤ c f(n) for all n ≥ n0

– g(n) ∈ o( f(n) ) iff
There exists a n0 such that g(n) < c f(n) for all c and n ≥ n0
Equivalent to: limn→∞ g(n)/f(n) = 0

Asymptotic Notation
O
Ω

• g(n) ∈ Ω( f(n) ) iff
There exist c and n0 such that g(n) ≥ c f(n) for all n ≥ n0

θ
o

– g(n) ∈ ω( f(n) ) iff
There exists a n0 such that g(n) > c f(n) for all c and n ≥ n0
Equivalent to: limn→∞ g(n)/f(n) = ∞

ω

Mathematics Relation
≤
≥
=
<
>

• g(n) ∈ θ( f(n) ) iff
g(n) ∈ O( f(n) ) and g(n) ∈ Ω( f(n) )
04/04/08

17

04/04/08

18

3
Pros and Cons of Asymptotic
Analysis

Types of Analysis
Two orthogonal axes:
– bound flavor
• upper bound (O, o)
• lower bound (Ω, ω)
• asymptotically tight (θ)

– analysis case
•
•
•
•
04/04/08

19

worst case (adversary)
average case
best case
“amortized”

04/04/08

Algorithm Analysis Examples

20

Analyzing the Loop

• Consider the following
program segment:

• Total number of times x is incremented is
executed =

x:= 0;
for i = 1 to N do
for j = 1 to i do
x := x + 1;

N

1+ 2 + 3 + ... = ∑ i =

• What is the value of x at
the end?

i =1

N(N + 1)
2

• Congratulations - You’ve just analyzed your first
program!
– Running time of the program is proportional to
N(N+1)/2 for all N
– Big-O ??
04/04/08

21

04/04/08

22

Which Function Grows Faster?

Which Function Grows Faster?

n3 + 2n2 vs.

n3 + 2n2

04/04/08

100n2 + 1000

23

04/04/08

vs. 100n2 + 1000

24

4

Mais conteúdo relacionado

Mais procurados

Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3
Traian Rebedea
 
Bellman ford Algorithm
Bellman ford AlgorithmBellman ford Algorithm
Bellman ford Algorithm
taimurkhan803
 

Mais procurados (20)

Greedy algorithm activity selection fractional
Greedy algorithm activity selection fractionalGreedy algorithm activity selection fractional
Greedy algorithm activity selection fractional
 
Word embeddings, RNN, GRU and LSTM
Word embeddings, RNN, GRU and LSTMWord embeddings, RNN, GRU and LSTM
Word embeddings, RNN, GRU and LSTM
 
6-Python-Recursion PPT.pptx
6-Python-Recursion PPT.pptx6-Python-Recursion PPT.pptx
6-Python-Recursion PPT.pptx
 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
Master method
Master method Master method
Master method
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
 
Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3
 
SINGLE-SOURCE SHORTEST PATHS
SINGLE-SOURCE SHORTEST PATHS SINGLE-SOURCE SHORTEST PATHS
SINGLE-SOURCE SHORTEST PATHS
 
NLP
NLPNLP
NLP
 
Average case Analysis of Quicksort
Average case Analysis of QuicksortAverage case Analysis of Quicksort
Average case Analysis of Quicksort
 
Insertion Sorting
Insertion SortingInsertion Sorting
Insertion Sorting
 
Fuzzy Matching or Fuzzy Logic Explained
Fuzzy Matching or Fuzzy Logic ExplainedFuzzy Matching or Fuzzy Logic Explained
Fuzzy Matching or Fuzzy Logic Explained
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
Recursion tree method
Recursion tree methodRecursion tree method
Recursion tree method
 
Bellman ford Algorithm
Bellman ford AlgorithmBellman ford Algorithm
Bellman ford Algorithm
 
Presentation-Merge Sort
Presentation-Merge SortPresentation-Merge Sort
Presentation-Merge Sort
 
A practical guide to deep learning
A practical guide to deep learningA practical guide to deep learning
A practical guide to deep learning
 
26 Computational Geometry
26 Computational Geometry26 Computational Geometry
26 Computational Geometry
 
Divide And Conquer.pptx
Divide And Conquer.pptxDivide And Conquer.pptx
Divide And Conquer.pptx
 
Hashing Part Two: Static Perfect Hashing
Hashing Part Two: Static Perfect HashingHashing Part Two: Static Perfect Hashing
Hashing Part Two: Static Perfect Hashing
 

Destaque

Time and space complexity
Time and space complexityTime and space complexity
Time and space complexity
Ankit Katiyar
 
Made easy notes of Digital electronics Part-2
Made easy notes of Digital electronics Part-2Made easy notes of Digital electronics Part-2
Made easy notes of Digital electronics Part-2
ranjeet kumar singh
 
Digital notes
Digital notesDigital notes
Digital notes
stivengo2
 
Gate mathematics questions all branch by s k mondal
Gate mathematics questions all branch by s k mondalGate mathematics questions all branch by s k mondal
Gate mathematics questions all branch by s k mondal
Aashishv
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihm
Sajid Marwat
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
Mr SMAK
 
Computer architecture kai hwang
Computer architecture   kai hwangComputer architecture   kai hwang
Computer architecture kai hwang
Sumedha
 

Destaque (18)

Made easy notes of Digital electronics Part-1
Made easy notes of Digital electronics Part-1Made easy notes of Digital electronics Part-1
Made easy notes of Digital electronics Part-1
 
Time and space complexity
Time and space complexityTime and space complexity
Time and space complexity
 
Made easy notes of Digital electronics Part-2
Made easy notes of Digital electronics Part-2Made easy notes of Digital electronics Part-2
Made easy notes of Digital electronics Part-2
 
Digital Electronics Notes
Digital Electronics Notes Digital Electronics Notes
Digital Electronics Notes
 
Computer Networks Foundation - Study Notes
Computer Networks Foundation - Study NotesComputer Networks Foundation - Study Notes
Computer Networks Foundation - Study Notes
 
Gate mathematics
Gate mathematicsGate mathematics
Gate mathematics
 
Digital notes
Digital notesDigital notes
Digital notes
 
Advance data structure & algorithm
Advance data structure & algorithmAdvance data structure & algorithm
Advance data structure & algorithm
 
Made easy notes of Digital electronics Part-3
Made easy notes of Digital electronics Part-3Made easy notes of Digital electronics Part-3
Made easy notes of Digital electronics Part-3
 
Kai hwang solution
Kai hwang solutionKai hwang solution
Kai hwang solution
 
Gate mathematics questions all branch by s k mondal
Gate mathematics questions all branch by s k mondalGate mathematics questions all branch by s k mondal
Gate mathematics questions all branch by s k mondal
 
Advanced Computer Architecture Chapter 123 Problems Solution
Advanced Computer Architecture Chapter 123 Problems SolutionAdvanced Computer Architecture Chapter 123 Problems Solution
Advanced Computer Architecture Chapter 123 Problems Solution
 
Complexity of Algorithm
Complexity of AlgorithmComplexity of Algorithm
Complexity of Algorithm
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihm
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Computer architecture kai hwang
Computer architecture   kai hwangComputer architecture   kai hwang
Computer architecture kai hwang
 
Algorithm Analysis and Design Class Notes
Algorithm Analysis and Design Class NotesAlgorithm Analysis and Design Class Notes
Algorithm Analysis and Design Class Notes
 
Design & Analysis Of Algorithm
Design & Analysis Of AlgorithmDesign & Analysis Of Algorithm
Design & Analysis Of Algorithm
 

Semelhante a Time complexity (linear search vs binary search)

lecture 1
lecture 1lecture 1
lecture 1
sajinsc
 
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Sean Meyn
 

Semelhante a Time complexity (linear search vs binary search) (20)

Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
1_Asymptotic_Notation_pptx.pptx
1_Asymptotic_Notation_pptx.pptx1_Asymptotic_Notation_pptx.pptx
1_Asymptotic_Notation_pptx.pptx
 
2_Asymptotic notations.pptx
2_Asymptotic notations.pptx2_Asymptotic notations.pptx
2_Asymptotic notations.pptx
 
Asymptotic analysis
Asymptotic analysisAsymptotic analysis
Asymptotic analysis
 
Design and analysis of algorithm ppt ppt
Design and analysis of algorithm ppt pptDesign and analysis of algorithm ppt ppt
Design and analysis of algorithm ppt ppt
 
lecture 1
lecture 1lecture 1
lecture 1
 
Algorithm.ppt
Algorithm.pptAlgorithm.ppt
Algorithm.ppt
 
Asymptotic Notation and Complexity
Asymptotic Notation and ComplexityAsymptotic Notation and Complexity
Asymptotic Notation and Complexity
 
Data Structures and Algorithms - Lec 02.pdf
Data Structures and Algorithms - Lec 02.pdfData Structures and Algorithms - Lec 02.pdf
Data Structures and Algorithms - Lec 02.pdf
 
CMSC 56 | Lecture 8: Growth of Functions
CMSC 56 | Lecture 8: Growth of FunctionsCMSC 56 | Lecture 8: Growth of Functions
CMSC 56 | Lecture 8: Growth of Functions
 
Lecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdfLecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdf
 
Master method theorem
Master method theoremMaster method theorem
Master method theorem
 
Master method theorem
Master method theoremMaster method theorem
Master method theorem
 
Lecture3(b).pdf
Lecture3(b).pdfLecture3(b).pdf
Lecture3(b).pdf
 
04. Growth_Rate_AND_Asymptotic Notations_.pptx
04. Growth_Rate_AND_Asymptotic Notations_.pptx04. Growth_Rate_AND_Asymptotic Notations_.pptx
04. Growth_Rate_AND_Asymptotic Notations_.pptx
 
AsymptoticAnalysis.ppt
AsymptoticAnalysis.pptAsymptoticAnalysis.ppt
AsymptoticAnalysis.ppt
 
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
 
analysis.ppt
analysis.pptanalysis.ppt
analysis.ppt
 
Slide2
Slide2Slide2
Slide2
 

Mais de Kumar

Mais de Kumar (20)

Graphics devices
Graphics devicesGraphics devices
Graphics devices
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithms
 
region-filling
region-fillingregion-filling
region-filling
 
Bresenham derivation
Bresenham derivationBresenham derivation
Bresenham derivation
 
Bresenham circles and polygons derication
Bresenham circles and polygons dericationBresenham circles and polygons derication
Bresenham circles and polygons derication
 
Introductionto xslt
Introductionto xsltIntroductionto xslt
Introductionto xslt
 
Extracting data from xml
Extracting data from xmlExtracting data from xml
Extracting data from xml
 
Xml basics
Xml basicsXml basics
Xml basics
 
XML Schema
XML SchemaXML Schema
XML Schema
 
Publishing xml
Publishing xmlPublishing xml
Publishing xml
 
DTD
DTDDTD
DTD
 
Applying xml
Applying xmlApplying xml
Applying xml
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
How to deploy a j2ee application
How to deploy a j2ee applicationHow to deploy a j2ee application
How to deploy a j2ee application
 
JNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLJNDI, JMS, JPA, XML
JNDI, JMS, JPA, XML
 
EJB Fundmentals
EJB FundmentalsEJB Fundmentals
EJB Fundmentals
 
JSP and struts programming
JSP and struts programmingJSP and struts programming
JSP and struts programming
 
java servlet and servlet programming
java servlet and servlet programmingjava servlet and servlet programming
java servlet and servlet programming
 
Introduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC DriversIntroduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC Drivers
 
Introduction to J2EE
Introduction to J2EEIntroduction to J2EE
Introduction to J2EE
 

Último

Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
MateoGardella
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Último (20)

Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 

Time complexity (linear search vs binary search)

  • 1. Today’s Outline • Admin: Assignment #1 due next thurs. at 11:59pm • Asymptotic analysis Asymptotic Analysis CSE 373 Data Structures & Algorithms Ruth Anderson Spring 2007 04/04/08 2 Linear Search vs Binary Search Linear Search Binary Search Best Case Asymptotic Analysis Worst Case So … which algorithm is better? What tradeoffs can you make? 04/04/08 Fast Computer vs. Slow Computer 04/04/08 5 4 Fast Computer vs. Smart Programmer (round 1) 04/04/08 6 1
  • 2. Fast Computer vs. Smart Programmer (round 2) Asymptotic Analysis • Asymptotic analysis looks at the order of the running time of the algorithm – A valuable tool when the input gets “large” – Ignores the effects of different machines or different implementations of the same algorithm • Intuitively, to find the asymptotic runtime, throw away the constants and low-order terms – Linear search is T(n) = 3n + 2 ∈ O(n) – Binary search is T(n) = 4 log2n + 4 ∈ O(log n) 04/04/08 7 Remember: the fastest algorithm has the slowest growing function for its runtime 8 04/04/08 Order Notation: Intuition Asymptotic Analysis • Eliminate low order terms – 4n + 5 ⇒ – 0.5 n log n + 2n + 7 ⇒ – n3 + 2n + 3n ⇒ f(n) = n3 + 2n2 g(n) = 100n2 + 1000 • Eliminate coefficients – 4n ⇒ – 0.5 n log n ⇒ – n log n2 => 04/04/08 9 Although not yet apparent, as n gets “sufficiently large”, f(n) will be “greater than or equal to” g(n)10 04/04/08 Order Notation: Definition Definition of Order Notation • Upper bound: T(n) = O(f(n)) O( f(n) ) : a set or class of functions Big-O Exist constants c and n’ such that T(n) ≤ c f(n) for all n ≥ n’ • Lower bound: T(n) = Ω(g(n)) g(n) ∈ O( f(n) ) iff there exist consts c and n0 such that: g(n) ≤ c f(n) for all n ≥ n0 Omega Exist constants c and n’ such that T(n) ≥ c g(n) for all n ≥ n’ • Tight bound: T(n) = θ(f(n)) Example: g(n) =1000n vs. f(n) = n2 Is g(n) ∈ O( f(n) ) ? Pick: n0 = 1000, c = 1 Theta When both hold: T(n) = O(f(n)) T(n) = Ω(f(n)) 04/04/08 11 04/04/08 12 2
  • 3. Order Notation: Example Notation Notes Note: Sometimes, you’ll see the notation: g(n) = O(f(n)). This is equivalent to: g(n) ∈ O(f(n)). However: The notation O(f(n)) = g(n) is meaningless! (in other words big-O is not symmetric) 04/04/08 13 04/04/08 100n2 + 1000 ≤ 5 (n3 + 2n2) for all n ≥ 19 So f(n) ∈ O( g(n) ) Big-O: Common Names – – – – – – – – constant: logarithmic: linear: log-linear: quadratic: cubic: polynomial: exponential: O(1) O(log n) O(n) O(n log n) O(n2) O(n3) O(nk) O(cn) 14 Meet the Family (logkn, log n2 ∈ O(log n)) • O( f(n) ) is the set of all functions asymptotically less than or equal to f(n) – o( f(n) ) is the set of all functions asymptotically strictly less than f(n) • Ω( f(n) ) is the set of all functions asymptotically greater than or equal to f(n) – ω( f(n) ) is the set of all functions asymptotically strictly greater than f(n) (k is a constant) (c is a constant > 1) 04/04/08 • θ( f(n) ) is the set of all functions asymptotically equal to f(n) 15 04/04/08 16 Big-Omega et al. Intuitively Meet the Family, Formally • g(n) ∈ O( f(n) ) iff There exist c and n0 such that g(n) ≤ c f(n) for all n ≥ n0 – g(n) ∈ o( f(n) ) iff There exists a n0 such that g(n) < c f(n) for all c and n ≥ n0 Equivalent to: limn→∞ g(n)/f(n) = 0 Asymptotic Notation O Ω • g(n) ∈ Ω( f(n) ) iff There exist c and n0 such that g(n) ≥ c f(n) for all n ≥ n0 θ o – g(n) ∈ ω( f(n) ) iff There exists a n0 such that g(n) > c f(n) for all c and n ≥ n0 Equivalent to: limn→∞ g(n)/f(n) = ∞ ω Mathematics Relation ≤ ≥ = < > • g(n) ∈ θ( f(n) ) iff g(n) ∈ O( f(n) ) and g(n) ∈ Ω( f(n) ) 04/04/08 17 04/04/08 18 3
  • 4. Pros and Cons of Asymptotic Analysis Types of Analysis Two orthogonal axes: – bound flavor • upper bound (O, o) • lower bound (Ω, ω) • asymptotically tight (θ) – analysis case • • • • 04/04/08 19 worst case (adversary) average case best case “amortized” 04/04/08 Algorithm Analysis Examples 20 Analyzing the Loop • Consider the following program segment: • Total number of times x is incremented is executed = x:= 0; for i = 1 to N do for j = 1 to i do x := x + 1; N 1+ 2 + 3 + ... = ∑ i = • What is the value of x at the end? i =1 N(N + 1) 2 • Congratulations - You’ve just analyzed your first program! – Running time of the program is proportional to N(N+1)/2 for all N – Big-O ?? 04/04/08 21 04/04/08 22 Which Function Grows Faster? Which Function Grows Faster? n3 + 2n2 vs. n3 + 2n2 04/04/08 100n2 + 1000 23 04/04/08 vs. 100n2 + 1000 24 4