SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Lecture optimal binary search tree
Lecture optimal binary search tree Lecture optimal binary search tree
Lecture optimal binary search tree Divya Ks
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)Kensuke Otsuki
 
Algorithm analysis
Algorithm analysisAlgorithm analysis
Algorithm analysissumitbardhan
 
3.8 quick sort
3.8 quick sort3.8 quick sort
3.8 quick sortKrish_ver2
 
Data Structure and Algorithms
Data Structure and Algorithms Data Structure and Algorithms
Data Structure and Algorithms ManishPrajapati78
 
B trees in Data Structure
B trees in Data StructureB trees in Data Structure
B trees in Data StructureAnuj Modi
 
Asymptotic Notations
Asymptotic NotationsAsymptotic Notations
Asymptotic NotationsRishabh Soni
 
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようiOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようToshiyuki Hirata
 
Recursion - Algorithms and Data Structures
Recursion - Algorithms and Data StructuresRecursion - Algorithms and Data Structures
Recursion - Algorithms and Data StructuresPriyanka Rana
 
Intermediate code generation1
Intermediate code generation1Intermediate code generation1
Intermediate code generation1Shashwat Shriparv
 
Asymptotic notations
Asymptotic notationsAsymptotic notations
Asymptotic notationsNikhil Sharma
 
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話Nagisa Eto
 

La actualidad más candente (20)

Lecture optimal binary search tree
Lecture optimal binary search tree Lecture optimal binary search tree
Lecture optimal binary search tree
 
Quick sort
Quick sortQuick sort
Quick sort
 
Quick sort
Quick sortQuick sort
Quick sort
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
 
Algorithm analysis
Algorithm analysisAlgorithm analysis
Algorithm analysis
 
3.8 quick sort
3.8 quick sort3.8 quick sort
3.8 quick sort
 
Data Structure and Algorithms
Data Structure and Algorithms Data Structure and Algorithms
Data Structure and Algorithms
 
Digital search tree
Digital search treeDigital search tree
Digital search tree
 
3. cs8451 daa anna univ question bank unit 3
3. cs8451 daa anna univ question bank unit 33. cs8451 daa anna univ question bank unit 3
3. cs8451 daa anna univ question bank unit 3
 
Time andspacecomplexity
Time andspacecomplexityTime andspacecomplexity
Time andspacecomplexity
 
COMPILER DESIGN- Syntax Directed Translation
COMPILER DESIGN- Syntax Directed TranslationCOMPILER DESIGN- Syntax Directed Translation
COMPILER DESIGN- Syntax Directed Translation
 
B trees in Data Structure
B trees in Data StructureB trees in Data Structure
B trees in Data Structure
 
Asymptotic Notations
Asymptotic NotationsAsymptotic Notations
Asymptotic Notations
 
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようiOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
 
Recursion - Algorithms and Data Structures
Recursion - Algorithms and Data StructuresRecursion - Algorithms and Data Structures
Recursion - Algorithms and Data Structures
 
Optimal binary search tree dynamic programming
Optimal binary search tree   dynamic programmingOptimal binary search tree   dynamic programming
Optimal binary search tree dynamic programming
 
Intermediate code generation1
Intermediate code generation1Intermediate code generation1
Intermediate code generation1
 
1.7 avl tree
1.7 avl tree 1.7 avl tree
1.7 avl tree
 
Asymptotic notations
Asymptotic notationsAsymptotic notations
Asymptotic notations
 
Rolling Hashを殺す話
Rolling Hashを殺す話Rolling Hashを殺す話
Rolling Hashを殺す話
 

Destacado

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-1ranjeet kumar singh
 
Time and space complexity
Time and space complexityTime and space complexity
Time and space complexityAnkit 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-2ranjeet kumar singh
 
Digital Electronics Notes
Digital Electronics Notes Digital Electronics Notes
Digital Electronics Notes Srikrishna Thota
 
Computer Networks Foundation - Study Notes
Computer Networks Foundation - Study NotesComputer Networks Foundation - Study Notes
Computer Networks Foundation - Study NotesMarius FAILLOT DEVARRE
 
Digital notes
Digital notesDigital notes
Digital notesstivengo2
 
Advance data structure & algorithm
Advance data structure & algorithmAdvance data structure & algorithm
Advance data structure & algorithmK Hari Shankar
 
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-3ranjeet kumar singh
 
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 mondalAashishv
 
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 SolutionJoe Christensen
 
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 algortihmSajid Marwat
 
Lecture 3
Lecture 3Lecture 3
Lecture 3Mr SMAK
 
Computer architecture kai hwang
Computer architecture   kai hwangComputer architecture   kai hwang
Computer architecture kai hwangSumedha
 
Algorithm Analysis and Design Class Notes
Algorithm Analysis and Design Class NotesAlgorithm Analysis and Design Class Notes
Algorithm Analysis and Design Class NotesKumar Avinash
 

Destacado (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
 

Similar a Time complexity (linear search vs binary search)

1_Asymptotic_Notation_pptx.pptx
1_Asymptotic_Notation_pptx.pptx1_Asymptotic_Notation_pptx.pptx
1_Asymptotic_Notation_pptx.pptxpallavidhade2
 
2_Asymptotic notations.pptx
2_Asymptotic notations.pptx2_Asymptotic notations.pptx
2_Asymptotic notations.pptxdattakumar4
 
Asymptotic analysis
Asymptotic analysisAsymptotic analysis
Asymptotic analysisSoujanya V
 
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 pptsrushtiivp
 
lecture 1
lecture 1lecture 1
lecture 1sajinsc
 
Asymptotic Notation and Complexity
Asymptotic Notation and ComplexityAsymptotic Notation and Complexity
Asymptotic Notation and ComplexityRajandeep Gill
 
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.pdfRameshaFernando2
 
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 Functionsallyn joy calcaben
 
Lecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdfLecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdfShaistaRiaz4
 
Master method theorem
Master method theoremMaster method theorem
Master method theoremRajendran
 
Master method theorem
Master method theoremMaster method theorem
Master method theoremRajendran
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Deepak John
 
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_.pptxarslanzaheer14
 
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
 

Similar 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
 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1
 
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...
 

Más de Kumar

Graphics devices
Graphics devicesGraphics devices
Graphics devicesKumar
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithmsKumar
 
region-filling
region-fillingregion-filling
region-fillingKumar
 
Bresenham derivation
Bresenham derivationBresenham derivation
Bresenham derivationKumar
 
Bresenham circles and polygons derication
Bresenham circles and polygons dericationBresenham circles and polygons derication
Bresenham circles and polygons dericationKumar
 
Introductionto xslt
Introductionto xsltIntroductionto xslt
Introductionto xsltKumar
 
Extracting data from xml
Extracting data from xmlExtracting data from xml
Extracting data from xmlKumar
 
Xml basics
Xml basicsXml basics
Xml basicsKumar
 
XML Schema
XML SchemaXML Schema
XML SchemaKumar
 
Publishing xml
Publishing xmlPublishing xml
Publishing xmlKumar
 
Applying xml
Applying xmlApplying xml
Applying xmlKumar
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XMLKumar
 
How to deploy a j2ee application
How to deploy a j2ee applicationHow to deploy a j2ee application
How to deploy a j2ee applicationKumar
 
JNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLJNDI, JMS, JPA, XML
JNDI, JMS, JPA, XMLKumar
 
EJB Fundmentals
EJB FundmentalsEJB Fundmentals
EJB FundmentalsKumar
 
JSP and struts programming
JSP and struts programmingJSP and struts programming
JSP and struts programmingKumar
 
java servlet and servlet programming
java servlet and servlet programmingjava servlet and servlet programming
java servlet and servlet programmingKumar
 
Introduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC DriversIntroduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC DriversKumar
 
Introduction to J2EE
Introduction to J2EEIntroduction to J2EE
Introduction to J2EEKumar
 

Más 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

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
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 GraphThiyagu K
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 

Último (20)

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
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
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 

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