0% found this document useful (0 votes)
41 views

No From Comples

The document discusses the asymptotic analysis of algorithms and functions. It introduces the O, Ω, and Θ notations for describing asymptotic upper bounds, lower bounds, and tight bounds of functions. Examples are given of searching an array, transposing a matrix, and accessing an array element, with their time complexities analyzed as O(n), O(n^2), and O(1) respectively.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

No From Comples

The document discusses the asymptotic analysis of algorithms and functions. It introduces the O, Ω, and Θ notations for describing asymptotic upper bounds, lower bounds, and tight bounds of functions. Examples are given of searching an array, transposing a matrix, and accessing an array element, with their time complexities analyzed as O(n), O(n^2), and O(1) respectively.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

ESC101N Fundamentals of Computing

Arnab Bhattacharya arnabb@iitk.ac.in


Indian Institute of Technology, Kanpur http://www.iitk.ac.in/esc101/

1st semester, 2010-11 Tue, Wed, Fri 0800-0900 at L7

Arnab Bhattacharya (arnabb@iitk.ac.in)

ESC101N

2010 I

1/6

Growth of functions
Eciency of a program (or function) is measured by its time complexity Time complexity is measured for large inputs Input size is in the limit Provides a way to study asymptotic complexity of functions Generally, algorithms that are better for large inputs are better in most cases except very small sized inputs

Arnab Bhattacharya (arnabb@iitk.ac.in)

ESC101N

2010 I

2/6

Asymptotic upper bound: O -notation


O (g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 f (n) cg (n)} g (n) is an asymptotic upper bound of f (n)

cg(n) Time f(n)

n0

f (n) = O (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 3/6

Asymptotic upper bound: O -notation


O (g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 f (n) cg (n)} g (n) is an asymptotic upper bound of f (n) f (n) = 1/2n2 3n = O (n2 )

cg(n) Time f(n)

n0

f (n) = O (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 3/6

Asymptotic upper bound: O -notation


O (g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 f (n) cg (n)} g (n) is an asymptotic upper bound of f (n) f (n) = 1/2n2 3n = O (n2 ) f (n) = 3n = O (n2 )

cg(n) Time f(n)

n0

f (n) = O (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 3/6

Asymptotic upper bound: O -notation


O (g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 f (n) cg (n)} g (n) is an asymptotic upper bound of f (n) f (n) = 1/2n2 3n = O (n2 ) f (n) = 3n = O (n2 ) f (n) = 6n3 = O (n2 )

cg(n) Time f(n)

n0

f (n) = O (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 3/6

Asymptotic upper bound: O -notation


O (g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 f (n) cg (n)} g (n) is an asymptotic upper bound of f (n) f (n) = 1/2n2 3n = O (n2 ) f (n) = 3n = O (n2 ) f (n) = 6n3 = O (n2 ) o (g (n)): for any positive constant c > 0, 0 f (n) < cg (n) f (n) is asymptotically smaller than g (n) if f (n) = o (g (n))

cg(n) Time f(n)

n0

f (n) = O (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 3/6

Asymptotic lower bound: -notation


(g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 cg (n) f (n)} g (n) is an asymptotic lower bound of f (n)

f(n) cg(n) Time

n0

f (n) = (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 4/6

Asymptotic lower bound: -notation


(g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 cg (n) f (n)} g (n) is an asymptotic lower bound of f (n) f (n) = 1/2n2 3n = (n2 )

f(n) cg(n) Time

n0

f (n) = (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 4/6

Asymptotic lower bound: -notation


(g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 cg (n) f (n)} g (n) is an asymptotic lower bound of f (n) f (n) = 1/2n2 3n = (n2 ) f (n) = 6n3 = (n2 )

f(n) cg(n) Time

n0

f (n) = (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 4/6

Asymptotic lower bound: -notation


(g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 cg (n) f (n)} g (n) is an asymptotic lower bound of f (n) f (n) = 1/2n2 3n = (n2 ) f (n) = 6n3 = (n2 ) f (n) = 3n = (n2 )

f(n) cg(n) Time

n0

f (n) = (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 4/6

Asymptotic lower bound: -notation


(g (n)) = {f (n) : c , n0 > 0 such that n n0 , 0 cg (n) f (n)} g (n) is an asymptotic lower bound of f (n) f (n) = 1/2n2 3n = (n2 ) f (n) = 6n3 = (n2 ) f (n) = 3n = (n2 ) (g (n)): for any positive constant c > 0, 0 cg (n) < f (n) f (n) is asymptotically larger than g (n) if f (n) = (g (n))
f(n) cg(n) Time

n0

f (n) = (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 4/6

Asymptotic tight bound: -notation


(g (n)) = {f (n) : c1 , c2 , n0 > 0 such that n n0 , 0 c1 g (n) f (n) c2 g (n)} g (n) asymptotically bounds f (n) from both above and below

c2g(n) f(n) Time c1g(n) n

n0

f (n) = (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 5/6

Asymptotic tight bound: -notation


(g (n)) = {f (n) : c1 , c2 , n0 > 0 such that n n0 , 0 c1 g (n) f (n) c2 g (n)} g (n) asymptotically bounds f (n) from both above and below f (n) = 1/2n2 3n = (n2 ) Choose c1 = 1/14, c2 = 1/2, n0 = 7 Other choices may also exist

c2g(n) f(n) Time c1g(n) n

n0

f (n) = (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 5/6

Asymptotic tight bound: -notation


(g (n)) = {f (n) : c1 , c2 , n0 > 0 such that n n0 , 0 c1 g (n) f (n) c2 g (n)} g (n) asymptotically bounds f (n) from both above and below f (n) = 1/2n2 3n = (n2 ) Choose c1 = 1/14, c2 = 1/2, n0 = 7 Other choices may also exist f (n) = 6n3 = (n2 ) Requires n c2 /6 which is not true for all large n since c2 is constant
c2g(n) f(n) Time c1g(n) n

n0

f (n) = (g (n))
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 5/6

Examples
Searching an array of size n
for ( i = 0; i < n ; i ++) if ( a [ i ] == key ) return i ;

Arnab Bhattacharya (arnabb@iitk.ac.in)

ESC101N

2010 I

6/6

Examples
Searching an array of size n
for ( i = 0; i < n ; i ++) if ( a [ i ] == key ) return i ;

Average time is n/2 = O (n) Also (n) and (n)

Arnab Bhattacharya (arnabb@iitk.ac.in)

ESC101N

2010 I

6/6

Examples
Searching an array of size n
for ( i = 0; i < n ; i ++) if ( a [ i ] == key ) return i ;

Average time is n/2 = O (n) Also (n) and (n) Transposing a matrix of size n n
for ( i = 0; i < n ; i ++) for ( j = 0; j < n ; j ++) b [ j ][ i ] = a [ i ][ j ];

Arnab Bhattacharya (arnabb@iitk.ac.in)

ESC101N

2010 I

6/6

Examples
Searching an array of size n
for ( i = 0; i < n ; i ++) if ( a [ i ] == key ) return i ;

Average time is n/2 = O (n) Also (n) and (n) Transposing a matrix of size n n
for ( i = 0; i < n ; i ++) for ( j = 0; j < n ; j ++) b [ j ][ i ] = a [ i ][ j ];

O (n2 ) Also (n2 ) and (n2 )

Arnab Bhattacharya (arnabb@iitk.ac.in)

ESC101N

2010 I

6/6

Examples
Searching an array of size n
for ( i = 0; i < n ; i ++) if ( a [ i ] == key ) return i ;

Average time is n/2 = O (n) Also (n) and (n) Transposing a matrix of size n n
for ( i = 0; i < n ; i ++) for ( j = 0; j < n ; j ++) b [ j ][ i ] = a [ i ][ j ];

O (n2 ) Also (n2 ) and (n2 ) Accessing an element of an array of size n


a [ i ] = value ;

Arnab Bhattacharya (arnabb@iitk.ac.in)

ESC101N

2010 I

6/6

Examples
Searching an array of size n
for ( i = 0; i < n ; i ++) if ( a [ i ] == key ) return i ;

Average time is n/2 = O (n) Also (n) and (n) Transposing a matrix of size n n
for ( i = 0; i < n ; i ++) for ( j = 0; j < n ; j ++) b [ j ][ i ] = a [ i ][ j ];

O (n2 ) Also (n2 ) and (n2 ) Accessing an element of an array of size n


a [ i ] = value ;

Constant time, denoted as O (1) since it only requires address calculation and does not depend on the size of the array Also (1) and (1)
Arnab Bhattacharya (arnabb@iitk.ac.in) ESC101N 2010 I 6/6

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy