SlideShare a Scribd company logo
1 of 18
Asymptotic Notations
               Nikhil Sharma
                 BE/8034/09
Introduction
 In mathematics, computer science, and related fields, big O
  notation describes the limiting behavior of a function when the
  argument tends towards a particular value or infinity, usually in
  terms of simpler functions. Big O notation allows its users to
  simplify functions in order to concentrate on their growth rates:
  different functions with the same growth rate may be represented
  using the same O notation.
 The time complexity of an algorithm quantifies the amount of
  time taken by an algorithm to run as a function of the size of the
  input to the problem. When it is expressed using big O
  notation, the time complexity is said to be
  described asymptotically, i.e., as the input size goes to infinity.
Asymptotic Complexity
   Running time of an algorithm as a function of input size n for large
    n.
   Expressed using only the highest-order term in the expression for
    the exact running time.
     ◦ Instead of exact running time, say (n2).
   Describes behavior of function in the limit.
   Written using Asymptotic Notation.
   The notations describe different rate-of-growth relations between
    the defining function and the defined set of functions.
O-notation
For function g(n), we define
O(g(n)), big-O of n, as the set:

O(g(n)) = {f(n) :
  positive constants c and n0, such
that n     n0,
we have 0      f(n) cg(n) }

Intuitively: Set of all functions
whose rate of growth is the same as
or lower than that of g(n).
g(n) is an asymptotic upper bound for f(n).

 f(n) = (g(n))   f(n) = O(g(n)).
   (g(n))  O(g(n)).
-notation
For function g(n), we define   (g(n)), big-
Omega of n, as the set:
 (g(n)) = {f(n) :
  positive constants c and n0, such
that n     n0,
we have 0 cg(n) f(n)}

Intuitively: Set of all functions
whose rate of growth is the same as
or higher than that of g(n).
g(n) is an asymptotic lower bound for f(n).
f(n) = (g(n))   f(n) =         (g(n)).
  (g(n))   (g(n)).
-notation
For function g(n), we define   (g(n)), big-
Theta of n, as the set:

  (g(n)) = {f(n) :
  positive constants c1, c2, and
n0, such that n    n 0,
we have 0 c1g(n)        f(n) c2g(n)
}
Intuitively: Set of all functions that
have the same rate of growth as g(n).

g(n) is an asymptotically tight bound for f(n).
Definitions
 Upper Bound Notation:
   ◦ f(n) is O(g(n)) if there exist positive constants c and n0 such
     that f(n) c g(n) for all n n0
   ◦ Formally, O(g(n)) = { f(n): positive constants c and n0 such
     that f(n) c g(n) n n0
   ◦ Big O fact: A polynomial of degree k is O(nk)
 Asymptotic lower bound:
   ◦ f(n) is (g(n)) if positive constants c and n0 such that
     0 c g(n) f(n)        n n0
 Asymptotic tight bound:
   ◦ f(n) is (g(n)) if positive constants c1, c2, and n0 such that
     c1 g(n) f(n) c2 g(n) n n0
   ◦ f(n) = (g(n)) if and only if
     f(n) = O(g(n)) AND f(n) = (g(n))
Relations Between   , O,
o-notation
For a given function g(n), the set little-o:

o(g(n)) = {f(n):     c > 0, n0 > 0 such that
                    n n0, we have 0  f(n) < cg(n)}.

 f(n) becomes insignificant relative to g(n) as n approaches
   infinity:
                 lim [f(n) / g(n)] = 0
                n

g(n) is an upper bound for f(n) that is not asymptotically tight.
-notation
For a given function g(n), the set little-omega:

  (g(n)) = {f(n):    c > 0, n0 > 0 such that
                    n n0, we have 0 cg(n) < f(n)}.



f(n) becomes arbitrarily large relative to g(n) as n approaches
   infinity:
                        lim [f(n) / g(n)] = .
                    n

g(n) is a lower bound for f(n) that is not asymptotically tight.
Comparison of Functions
              f   g    a   b

         f (n) = O(g(n))   a   b
          f (n) = (g(n))   a   b
         f (n) = (g(n))    a = b
         f (n) = o(g(n))   a < b
         f (n) = (g(n))    a > b
Review:
Other Asymptotic Notations
   Intuitively, we can simplify the above by:



    ■ o() is like <    ■    () is like >
                                             ■   () is like =
    ■ O() is like      ■    () is like
Exercise
 Express functions in A in asymptotic notation using functions in B.

  A                                 B

  5n2 + 100n                 3n2 + 2                          A    (B)

  A      (n2), n2    (B)     A      (B)

  log3(n2)                   log2(n3)                         A    (B)

  logba = logca / logcb; A = 2lgn / lg3, B = 3lgn, A/B =2/(3lg3)

  nlg4                               3lg n                    A     (B)

  alog b = blog a; B =3lg n=nlg 3; A/B =nlg(4/3)   as n

      lg2n                          n1/2                      A     (B)

  lim ( lga n / nb ) = 0 (here a = 2 and b = 1/2)         A       (B)
   n
Common growth rates

Time complexity            Example
O(1)           constant    Adding to the front of a linked list
O(log N)             log   Finding an entry in a sorted array
O(N)              linear   Finding an entry in an unsorted array
O(N log N)       n-log-n   Sorting n items by ‘divide-and-conquer’
O(N2)          quadratic   Shortest path between two nodes in a
                           graph
O(N3)             cubic    Simultaneous linear equations
O(2N)        exponential   The Towers of Hanoi problem
Growth rates
                                     O(N2)


                                             O(Nlog N)




  For a short time N2 is
  better than NlogN



                      Number of Inputs
Running Times
   “Running time is O(f(n))”    Worst case is O(f(n))
 O(f(n)) bound on the worst-case running time            O(f(n))
  bound on the running time of every input.
  (f(n)) bound on the worst-case running time             (f(n))
  bound on the running time of every input.
   “Running time is   (f(n))”   Best case is   (f(n))
   Can still say “Worst-case running time is   (f(n))”
    ◦ Means worst-case running time is given by some
      unspecified function g(n)   (f(n)).
Time Complexity Vs Space
Complexity
 Achieving both is difficult and we have to make use of the best
  case feasible
 There is always a trade off between the space and time
  complexity
 If memory available is large then we need not compensate on
  time complexity
 If speed of execution is not main concern and the memory
  available is less then we can’t compensate on space complexity.
The End

More Related Content

What's hot

Algorithm analysis
Algorithm analysisAlgorithm analysis
Algorithm analysis
sumitbardhan
 
Dinive conquer algorithm
Dinive conquer algorithmDinive conquer algorithm
Dinive conquer algorithm
Mohd Arif
 

What's hot (20)

Algorithm analysis
Algorithm analysisAlgorithm analysis
Algorithm analysis
 
Fundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencyFundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm Efficiency
 
Asymptotic Notations
Asymptotic NotationsAsymptotic Notations
Asymptotic Notations
 
Merge sort algorithm
Merge sort algorithmMerge sort algorithm
Merge sort algorithm
 
15 puzzle problem using branch and bound
15 puzzle problem using branch and bound15 puzzle problem using branch and bound
15 puzzle problem using branch and bound
 
Mathematical Analysis of Non-Recursive Algorithm.
Mathematical Analysis of Non-Recursive Algorithm.Mathematical Analysis of Non-Recursive Algorithm.
Mathematical Analysis of Non-Recursive Algorithm.
 
Divide and conquer
Divide and conquerDivide and conquer
Divide and conquer
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms I
 
Dinive conquer algorithm
Dinive conquer algorithmDinive conquer algorithm
Dinive conquer algorithm
 
Bubble sort
Bubble sortBubble sort
Bubble sort
 
Greedy Algorihm
Greedy AlgorihmGreedy Algorihm
Greedy Algorihm
 
Data structure ppt
Data structure pptData structure ppt
Data structure ppt
 
Queue ppt
Queue pptQueue ppt
Queue ppt
 
heap Sort Algorithm
heap  Sort Algorithmheap  Sort Algorithm
heap Sort Algorithm
 
Context free grammar
Context free grammar Context free grammar
Context free grammar
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
Asymptotic analysis
Asymptotic analysisAsymptotic analysis
Asymptotic analysis
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)Performance analysis(Time & Space Complexity)
Performance analysis(Time & Space Complexity)
 
Tree - Data Structure
Tree - Data StructureTree - Data Structure
Tree - Data Structure
 

Similar to Asymptotic notations

Asymptotic notations
Asymptotic notationsAsymptotic notations
Asymptotic notations
Ehtisham Ali
 
Lecture 4 - Growth of Functions (1).ppt
Lecture 4 - Growth of Functions (1).pptLecture 4 - Growth of Functions (1).ppt
Lecture 4 - Growth of Functions (1).ppt
ZohairMughal1
 

Similar to Asymptotic notations (20)

DAA_LECT_2.pdf
DAA_LECT_2.pdfDAA_LECT_2.pdf
DAA_LECT_2.pdf
 
Lecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdfLecture 3(a) Asymptotic-analysis.pdf
Lecture 3(a) Asymptotic-analysis.pdf
 
Clase3 Notacion
Clase3 NotacionClase3 Notacion
Clase3 Notacion
 
Asymptotic notations
Asymptotic notationsAsymptotic notations
Asymptotic notations
 
02 asymp
02 asymp02 asymp
02 asymp
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
Asymtotic Appoach.ppt
Asymtotic Appoach.pptAsymtotic Appoach.ppt
Asymtotic Appoach.ppt
 
02-asymp.ppt
02-asymp.ppt02-asymp.ppt
02-asymp.ppt
 
Asymptotic notation ada
Asymptotic notation adaAsymptotic notation ada
Asymptotic notation ada
 
big_oh
big_ohbig_oh
big_oh
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
Lecture 4 - Growth of Functions (1).ppt
Lecture 4 - Growth of Functions (1).pptLecture 4 - Growth of Functions (1).ppt
Lecture 4 - Growth of Functions (1).ppt
 
Lecture 4 - Growth of Functions.ppt
Lecture 4 - Growth of Functions.pptLecture 4 - Growth of Functions.ppt
Lecture 4 - Growth of Functions.ppt
 
Asymptotic notations
Asymptotic notationsAsymptotic notations
Asymptotic notations
 
2-AnalysisOfAlgs.ppt
2-AnalysisOfAlgs.ppt2-AnalysisOfAlgs.ppt
2-AnalysisOfAlgs.ppt
 
Time complexity
Time complexityTime complexity
Time complexity
 
Weekends with Competitive Programming
Weekends with Competitive ProgrammingWeekends with Competitive Programming
Weekends with Competitive Programming
 
Lecture3(b).pdf
Lecture3(b).pdfLecture3(b).pdf
Lecture3(b).pdf
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
Asymptotic Notation and Complexity
Asymptotic Notation and ComplexityAsymptotic Notation and Complexity
Asymptotic Notation and Complexity
 

More from Nikhil Sharma (6)

Digital Life
Digital LifeDigital Life
Digital Life
 
B tree short
B tree shortB tree short
B tree short
 
B tree long
B tree longB tree long
B tree long
 
India
IndiaIndia
India
 
Curse of dimensionality
Curse of dimensionalityCurse of dimensionality
Curse of dimensionality
 
Impurities in wastewater & problems caused by it
Impurities in wastewater & problems caused by itImpurities in wastewater & problems caused by it
Impurities in wastewater & problems caused by it
 

Recently uploaded

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Recently uploaded (20)

Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
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
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 

Asymptotic notations

  • 1. Asymptotic Notations Nikhil Sharma BE/8034/09
  • 2. Introduction  In mathematics, computer science, and related fields, big O notation describes the limiting behavior of a function when the argument tends towards a particular value or infinity, usually in terms of simpler functions. Big O notation allows its users to simplify functions in order to concentrate on their growth rates: different functions with the same growth rate may be represented using the same O notation.  The time complexity of an algorithm quantifies the amount of time taken by an algorithm to run as a function of the size of the input to the problem. When it is expressed using big O notation, the time complexity is said to be described asymptotically, i.e., as the input size goes to infinity.
  • 3. Asymptotic Complexity  Running time of an algorithm as a function of input size n for large n.  Expressed using only the highest-order term in the expression for the exact running time. ◦ Instead of exact running time, say (n2).  Describes behavior of function in the limit.  Written using Asymptotic Notation.  The notations describe different rate-of-growth relations between the defining function and the defined set of functions.
  • 4. O-notation For function g(n), we define O(g(n)), big-O of n, as the set: O(g(n)) = {f(n) : positive constants c and n0, such that n n0, we have 0 f(n) cg(n) } Intuitively: Set of all functions whose rate of growth is the same as or lower than that of g(n). g(n) is an asymptotic upper bound for f(n). f(n) = (g(n)) f(n) = O(g(n)). (g(n)) O(g(n)).
  • 5. -notation For function g(n), we define (g(n)), big- Omega of n, as the set: (g(n)) = {f(n) : positive constants c and n0, such that n n0, we have 0 cg(n) f(n)} Intuitively: Set of all functions whose rate of growth is the same as or higher than that of g(n). g(n) is an asymptotic lower bound for f(n). f(n) = (g(n)) f(n) = (g(n)). (g(n)) (g(n)).
  • 6. -notation For function g(n), we define (g(n)), big- Theta of n, as the set: (g(n)) = {f(n) : positive constants c1, c2, and n0, such that n n 0, we have 0 c1g(n) f(n) c2g(n) } Intuitively: Set of all functions that have the same rate of growth as g(n). g(n) is an asymptotically tight bound for f(n).
  • 7. Definitions  Upper Bound Notation: ◦ f(n) is O(g(n)) if there exist positive constants c and n0 such that f(n) c g(n) for all n n0 ◦ Formally, O(g(n)) = { f(n): positive constants c and n0 such that f(n) c g(n) n n0 ◦ Big O fact: A polynomial of degree k is O(nk)  Asymptotic lower bound: ◦ f(n) is (g(n)) if positive constants c and n0 such that 0 c g(n) f(n) n n0  Asymptotic tight bound: ◦ f(n) is (g(n)) if positive constants c1, c2, and n0 such that c1 g(n) f(n) c2 g(n) n n0 ◦ f(n) = (g(n)) if and only if f(n) = O(g(n)) AND f(n) = (g(n))
  • 9. o-notation For a given function g(n), the set little-o: o(g(n)) = {f(n): c > 0, n0 > 0 such that n n0, we have 0 f(n) < cg(n)}. f(n) becomes insignificant relative to g(n) as n approaches infinity: lim [f(n) / g(n)] = 0 n g(n) is an upper bound for f(n) that is not asymptotically tight.
  • 10. -notation For a given function g(n), the set little-omega: (g(n)) = {f(n): c > 0, n0 > 0 such that n n0, we have 0 cg(n) < f(n)}. f(n) becomes arbitrarily large relative to g(n) as n approaches infinity: lim [f(n) / g(n)] = . n g(n) is a lower bound for f(n) that is not asymptotically tight.
  • 11. Comparison of Functions f g a b f (n) = O(g(n)) a b f (n) = (g(n)) a b f (n) = (g(n)) a = b f (n) = o(g(n)) a < b f (n) = (g(n)) a > b
  • 12. Review: Other Asymptotic Notations  Intuitively, we can simplify the above by: ■ o() is like < ■ () is like > ■ () is like = ■ O() is like ■ () is like
  • 13. Exercise Express functions in A in asymptotic notation using functions in B. A B 5n2 + 100n 3n2 + 2 A (B) A (n2), n2 (B) A (B) log3(n2) log2(n3) A (B) logba = logca / logcb; A = 2lgn / lg3, B = 3lgn, A/B =2/(3lg3) nlg4 3lg n A (B) alog b = blog a; B =3lg n=nlg 3; A/B =nlg(4/3) as n lg2n n1/2 A (B) lim ( lga n / nb ) = 0 (here a = 2 and b = 1/2) A (B) n
  • 14. Common growth rates Time complexity Example O(1) constant Adding to the front of a linked list O(log N) log Finding an entry in a sorted array O(N) linear Finding an entry in an unsorted array O(N log N) n-log-n Sorting n items by ‘divide-and-conquer’ O(N2) quadratic Shortest path between two nodes in a graph O(N3) cubic Simultaneous linear equations O(2N) exponential The Towers of Hanoi problem
  • 15. Growth rates O(N2) O(Nlog N) For a short time N2 is better than NlogN Number of Inputs
  • 16. Running Times  “Running time is O(f(n))” Worst case is O(f(n))  O(f(n)) bound on the worst-case running time O(f(n)) bound on the running time of every input.  (f(n)) bound on the worst-case running time (f(n)) bound on the running time of every input.  “Running time is (f(n))” Best case is (f(n))  Can still say “Worst-case running time is (f(n))” ◦ Means worst-case running time is given by some unspecified function g(n) (f(n)).
  • 17. Time Complexity Vs Space Complexity  Achieving both is difficult and we have to make use of the best case feasible  There is always a trade off between the space and time complexity  If memory available is large then we need not compensate on time complexity  If speed of execution is not main concern and the memory available is less then we can’t compensate on space complexity.