SlideShare a Scribd company logo
1 of 47
ADVANCED DATA STRUCTURES
LECTURE 2
Contents
 Asymptotic Notations
 Recurrence relation
 Substitution method
 Iterative method
 Recursion method
 Master method
Asymptotic Analysis and Recurrences
 In this lecture we discuss the notion of asymptotic analysis
and introduce O, Ω, and Θ notation.
 Material in this lecture: • Asymptotic notation: O, Ω,and
Θ.
Asymptotic analysis
Asymptotic analysis When we consider an algorithm for some
problem, in addition to knowing that it produces a correct
solution, we will be especially interested in analyzing its
running time.
There are several aspects of running time that one could
focus on.
Our focus will be primarily on the question: “how does the
running time scale with the size of the input?” This is called
asymptotic analysis, and the idea is that we will ignore low-
order terms and constant factors, focusing instead on the
shape of the running time curve.
We will typically use n to denote the size of the input, and
T(n) to denote the running time of our algorithm on an input
of size n.
What is n, f(n)
g(n) and c?
 f(n)= Is a function of n that denotes algorithm run time
 n= input size/steps required to execute the program.
 g(n)=is an arbitrary time complexity relate to algorithm
 c=constant
Continue…
 f(n) is a linear function where we touch every element of a collections
 f(n)=nlogn it is called nlogn function
 T(n)= n² is called quadratic function it rises due to nested loops
 F(n)= bn is called exponential function
 F(n3)= is a cubic function
Polynomial function
 If P(x) = an xn + an-1 xn-1+.……….…+a2 x2 + a1 x + a0, then for x ≫ 0 or x ≪ 0,
P(x) ≈ an xn.
 Thus, polynomial functions approach power functions for very large values of
their variables.
 a values are constants here
How to calculate f(n)?
Calculating the value of f(n) for smaller programs is easy but for
bigger programs, it's not that easy.
We can compare the data structures by comparing their f(n)
values. We can compare the data structures by comparing their
f(n) values.
We will find the growth rate of f(n) because there might be a
possibility that one data structure for a smaller input size is
better than the other one but not for the larger sizes. Now, how
to find f(n).
Let's look at a simple example.
f(n) = 5n2 + 6n + 12
 where n is the number of instructions executed, and it depends on
the size of the input.
 When n=1
 % of running time due to 5n2 = * 100 = 21.74%
 % of running time due to 6n = * 100 = 26.09%
 % of running time due to 12 = * 100 = 52.17%
 From the above calculation, it is observed that most of the time is
taken by 12. But, we have to find the growth rate of f(n), we cannot
say that the maximum amount of time is taken by 12. Let's assume
the different values of n to find the growth rate of f(n).
Let's assume the different values of n to
find the growth rate of f(n)
n 5n
2
6n 12
1 21.74% 26.09% 52.17%
10 87.41% 10.49% 2.09%
100 98.79% 1.19% 0.02%
1000 99.88% 0.12% 0.0002%
Continue…
 As we can observe in the above table that with the increase in the value of n,
the running time of 5n2 increases while the running time of 6n and 12 also
decreases. Therefore, it is observed that for larger values of n, the squared
term consumes almost 99% of the time. As the n2 term is contributing most of
the time, so we can eliminate the rest two terms.
 Therefore,
 f(n) = 5n2
Continue…
 Here, we are getting the approximate time complexity whose result is very
close to the actual result. And this approximate measure of time complexity
is known as an Asymptotic complexity. Here, we are not calculating the exact
running time, we are eliminating the unnecessary terms, and we are just
considering the term which is taking most of the time.
 In mathematical analysis, asymptotic analysis of algorithm is a method of
defining the mathematical boundation of its run-time performance. Using the
asymptotic analysis, we can easily conclude the average-case, best-case and
worst-case scenario of an algorithm.
 It is used to mathematically calculate the running time of any operation
inside an algorithm.
Continue…
 Example: Running time of one operation is x(n) and for another operation, it
is calculated as f(n2). It refers to running time will increase linearly with an
increase in 'n' for the first operation, and running time will increase
exponentially for the second operation. Similarly, the running time of both
operations will be the same if n is significantly small.
 Usually, the time required by an algorithm comes under three types:
 Worst case: It defines the input for which the algorithm takes a huge time.
 Average case: It takes average time for the program execution.
 Best case: It defines the input for which the algorithm takes the lowest time
Asymptotic Notations
 The commonly used asymptotic notations used for calculating the running
time complexity of an algorithm is given below:
 Big oh Notation (?)
 Omega Notation (Ω)
 Theta Notation (θ)
Big oh Notation (O)
Big O notation is an asymptotic notation that measures the
performance of an algorithm by simply providing the order of
growth of the function.
This notation provides an upper bound on a function which
ensures that the function never grows faster than the upper
bound.
So, it gives the least upper bound on a function so that the
function never grows faster than this upper bound.
Big oh Notation (O)
 It is the formal way to express the upper boundary of an algorithm
running time. It measures the worst case of time complexity or the
algorithm's longest amount of time to complete its operation. It is
represented as shown below:
Big oh Notation (O)
Big oh Notation (O)
 For example:
 If f(n) and g(n) are the two functions defined for positive integers,
 then f(n) = O(g(n)) as f(n) is big oh of g(n) or f(n) is on the order of g(n)) if
there exists constants c and no such that:
 f(n)≤c.g(n) for all n≥no
 This implies that f(n) does not grow faster than g(n), or g(n) is an upper
bound on the function f(n). In this case, we are calculating the growth rate of
the function which eventually calculates the worst time complexity of a
function, i.e., how worst an algorithm can perform.
Let's understand through examples
 Example 1: f(n)=2n+3 , g(n)=n
 Now, we have to find Is f(n)=O(g(n))?
 To check f(n)=O(g(n)), it must satisfy the given condition:
 f(n)<=c.g(n)
 First, we will replace f(n) by 2n+3 and g(n) by n.
 2n+3 <= c.n
Continue…
 Let's assume c=5, n=1 then
 2*1+3<=5*1
 5<=5
 For n=1, the above condition is true.
 If n=2
 2*2+3<=5*2
 7<=10
 For n=2, the above condition is true.
Continue…
 We know that for any value of n, it will satisfy the above condition,
i.e., 2n+3<=c.n. If the value of c is equal to 5, then it will satisfy the
condition 2n+3<=c.n.
 We can take any value of n starting from 1, it will always satisfy.
Therefore, we can say that for some constants c and for some
constants n0, it will always satisfy 2n+3<=c.n.
 As it is satisfying the above condition, so f(n) is big oh of g(n) or we
can say that f(n) grows linearly. Therefore, it concludes that c.g(n) is
the upper bound of the f(n). It can be represented graphically as:
Big oh Notation (O)
Big oh Notation (O)
Continue…
 The idea of using big o notation is to give an upper bound of a
particular function, and eventually it leads to give a worst-time
complexity. It provides an assurance that a particular function does
not behave suddenly as a quadratic or a cubic fashion, it just behaves
in a linear manner in a worst-case.
Omega Notation (Ω)
 It basically describes the best-case scenario which is opposite to the big o
notation.
 It is the formal way to represent the lower bound of an algorithm's running
time. It measures the best amount of time an algorithm can possibly take to
complete or the best-case time complexity.
 It determines what is the fastest time that an algorithm can run.
Omega Notation (Ω)
 If we required that an algorithm takes at least certain amount of time
without using an upper bound, we use big- Ω notation i.e. the Greek letter
"omega". It is used to bound the growth of running time for large input size.
 If f(n) and g(n) are the two functions defined for positive integers,
 then f(n) = Ω (g(n)) as f(n) is Omega of g(n) or f(n) is on the order of g(n)) if
there exists constants c and no such that:
 f(n)>=c.g(n) for all n≥no and c>0
Let's consider a simple example.
 If f(n) = 2n+3, g(n) = n,
 Is f(n)= Ω (g(n))?
 It must satisfy the condition:
 f(n)>=c.g(n)
 To check the above condition, we first replace f(n) by 2n+3 and g(n) by n.
 2n+3>=c*n
 Suppose c=1
 2n+3>=n (This equation will be true for any value of n starting from 1).
 Therefore, it is proved that g(n) is big omega of 2n+3 function.
Big Omega Notation (Ω)
Big Omega Notation (Ω)
Continue…
 As we can see in the above figure that g(n) function is the lower bound of the
f(n) function when the value of c is equal to 1.
 Therefore, this notation gives the fastest running time.
 But, we are not more interested in finding the fastest running time, we are
interested in calculating the worst-case scenarios because we want to check
our algorithm for larger input that what is the worst time that it will take so
that we can take further decision in the further process.
Big Theta Notation (θ)
 Theta Notation (θ)
 The theta notation mainly describes the average case scenarios.
 It represents the realistic time complexity of an algorithm. Every time, an
algorithm does not perform worst or best, in real-world problems, algorithms
mainly fluctuate between the worst-case and best-case, and this gives us the
average case of the algorithm.
 Big theta is mainly used when the value of worst-case and the best-case is
same.
 It is the formal way to express both the upper bound and lower bound of an
algorithm running time.
Big Theta Notation (θ)
 Let's understand the big theta notation mathematically:
 Let f(n) and g(n) be the functions of n where n is the steps required to
execute the program then:
 f(n)= θg(n)
 The above condition is satisfied only if when
 c1.g(n)<=f(n)<=c2.g(n)
Big Theta Notation (θ)
 where the function is bounded by two limits, i.e., upper and lower limit, and
f(n) comes in between. The condition f(n)= θg(n) will be true if and only if
c1.g(n) is less than or equal to f(n) and c2.g(n) is greater than or equal to
f(n). The graphical representation of theta notation is given below:
Big Theta Notation (θ)
Big Theta Notation (θ)
Big Theta Notation (θ)
 Let's consider the same example where
f(n)=2n+3
g(n)=n
 As c1.g(n) should be less than f(n) so c1 has to be 1 whereas c2.g(n) should be
greater than f(n) so c2 is equal to 5. The c1.g(n) is the lower limit of the of
the f(n) while c2.g(n) is the upper limit of the f(n).
 c1.g(n)<=f(n)<=c2.g(n)
Big Theta Notation (θ)
 Replace g(n) by n and f(n) by 2n+3
 c1.n <=2n+3<=c2.n
 if c1=1, c2=2, n=1
 1*1 <=2*1+3 <=2*1
 1 <= 5 <= 2 // for n=1, it satisfies the condition c1.g(n)<=f(n)<=c2.g(n)
 If n=2
 1*2<=2*2+3<=2*2
 2<=7<=4 // for n=2, it satisfies the condition c1.g(n)<=f(n)<=c2.g(n)
Big Theta Notation (θ)
 Therefore, we can say that for any value of n, it satisfies the
condition c1.g(n)<=f(n)<=c2.g(n). Hence, it is proved that f(n) is big
theta of g(n). So, this is the average-case scenario which provides
the realistic time complexity.
Why we have three different asymptotic
analysis?
 As we know that big omega is for the best case, big oh is for the worst case
while big theta is for the average case. Now, we will find out the average,
worst and the best case of the linear search algorithm.
 Suppose we have an array of n numbers, and we want to find the particular
element in an array using the linear search. In the linear search, every
element is compared with the searched element on each iteration. Suppose,
if the match is found in a first iteration only, then the best case would be
Ω(1), if the element matches with the last element, i.e., nth element of the
array then the worst case would be O(n). The average case is the mid of the
best and the worst-case, so it becomes θ(n/1). The constant terms can be
ignored in the time complexity so average case would be θ(n).
 So, three different analysis provide the proper bounding between the actual
functions. Here, bounding means that we have upper as well as lower limit
which assures that the algorithm will behave between these limits only, i.e.,
it will not go beyond these limits.
Recurrence relation
A recurrence is an equation or inequality that
describes a function in terms of its values on smaller
inputs. To solve a Recurrence Relation means to
obtain a function defined on the natural numbers that
satisfy the recurrence.
For Example, the Worst Case Running Time
T(n) of the MERGE SORT Procedures is
described by the recurrence.
Using Recursive C function finding Time
complexity of an Recursive function:
 Void test (int n)
 {
 If(n>0)
 {
 Printf(“%d”, n);
 Test(n-1);
 }
 }
 If by passing n=3 ; printing three times 3 2 1
 No.of prints 3 i.e., 1+1+1=3 units of time
 Number of calls is 3+1=4
There are four methods for solving
Recurrence:
 Substitution method
 Iterative method
 Recursion method
 Master method
1. Substitution Method:
The Substitution Method Consists of two main steps:
1.Guess the Solution.
2.Use the mathematical induction to find the
boundary condition and shows that the guess is
correct.
Cont…
For Example1 Solve the equation by Substitution
Method.
T (n) = T + n
We have to show that it is asymptotically bound by
O(log n).
Solution:
For T (n) = O (log n)
We have to show that for some constant c
1.T (n) ≤c logn.
Put this in given Recurrence Equation.
T (n) ≤c log + 1 ≤c log + 1 = c logn-clog2 2+1 ≤c logn for c≥1
Thus T (n) =O logn.
Substitution method
 Recurrence equation 1: T(n)=T(n-1)+n
 Recurrence equation 2:T(n)=2T((n/2)+n
 Recurrence equation 3:
 T(n) =1 If n=1
=n*T(n-1) If n>1
Thank you

More Related Content

What's hot

lecture 27
lecture 27lecture 27
lecture 27sajinsc
 
Np completeness
Np completenessNp completeness
Np completenessRajendran
 
lecture 30
lecture 30lecture 30
lecture 30sajinsc
 
9. chapter 8 np hard and np complete problems
9. chapter 8   np hard and np complete problems9. chapter 8   np hard and np complete problems
9. chapter 8 np hard and np complete problemsJyotsna Suryadevara
 
Algorithm chapter 10
Algorithm chapter 10Algorithm chapter 10
Algorithm chapter 10chidabdu
 
lecture 29
lecture 29lecture 29
lecture 29sajinsc
 
Np Completeness
Np CompletenessNp Completeness
Np CompletenessRajan Shah
 
Algorithm_NP-Completeness Proof
Algorithm_NP-Completeness ProofAlgorithm_NP-Completeness Proof
Algorithm_NP-Completeness ProofIm Rafid
 
A comprehensive view on P vs NP
A comprehensive view on P vs NPA comprehensive view on P vs NP
A comprehensive view on P vs NPAbhay Pai
 
2010 3-24 cryptography stamatiou
2010 3-24 cryptography stamatiou2010 3-24 cryptography stamatiou
2010 3-24 cryptography stamatiouvafopoulos
 
Automatski - NP-Complete - TSP - Travelling Salesman Problem Solved in O(N^4)
Automatski - NP-Complete - TSP - Travelling Salesman Problem Solved in O(N^4)Automatski - NP-Complete - TSP - Travelling Salesman Problem Solved in O(N^4)
Automatski - NP-Complete - TSP - Travelling Salesman Problem Solved in O(N^4)Aditya Yadav
 

What's hot (20)

NP Complete Problems in Graph Theory
NP Complete Problems in Graph TheoryNP Complete Problems in Graph Theory
NP Complete Problems in Graph Theory
 
Tsp is NP-Complete
Tsp is NP-CompleteTsp is NP-Complete
Tsp is NP-Complete
 
lecture 27
lecture 27lecture 27
lecture 27
 
Np completeness
Np completenessNp completeness
Np completeness
 
lecture 30
lecture 30lecture 30
lecture 30
 
Np cooks theorem
Np cooks theoremNp cooks theorem
Np cooks theorem
 
Np completeness
Np completenessNp completeness
Np completeness
 
9. chapter 8 np hard and np complete problems
9. chapter 8   np hard and np complete problems9. chapter 8   np hard and np complete problems
9. chapter 8 np hard and np complete problems
 
Algorithm chapter 10
Algorithm chapter 10Algorithm chapter 10
Algorithm chapter 10
 
P versus NP
P versus NPP versus NP
P versus NP
 
Np complete
Np completeNp complete
Np complete
 
np complete
np completenp complete
np complete
 
lecture 29
lecture 29lecture 29
lecture 29
 
Lecture26
Lecture26Lecture26
Lecture26
 
Np Completeness
Np CompletenessNp Completeness
Np Completeness
 
Algorithm_NP-Completeness Proof
Algorithm_NP-Completeness ProofAlgorithm_NP-Completeness Proof
Algorithm_NP-Completeness Proof
 
A comprehensive view on P vs NP
A comprehensive view on P vs NPA comprehensive view on P vs NP
A comprehensive view on P vs NP
 
2010 3-24 cryptography stamatiou
2010 3-24 cryptography stamatiou2010 3-24 cryptography stamatiou
2010 3-24 cryptography stamatiou
 
Teori pnp
Teori pnpTeori pnp
Teori pnp
 
Automatski - NP-Complete - TSP - Travelling Salesman Problem Solved in O(N^4)
Automatski - NP-Complete - TSP - Travelling Salesman Problem Solved in O(N^4)Automatski - NP-Complete - TSP - Travelling Salesman Problem Solved in O(N^4)
Automatski - NP-Complete - TSP - Travelling Salesman Problem Solved in O(N^4)
 

Similar to Asymptotic Notations

TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
TIME EXECUTION   OF  DIFFERENT SORTED ALGORITHMSTIME EXECUTION   OF  DIFFERENT SORTED ALGORITHMS
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMSTanya Makkar
 
Basic Computer Engineering Unit II as per RGPV Syllabus
Basic Computer Engineering Unit II as per RGPV SyllabusBasic Computer Engineering Unit II as per RGPV Syllabus
Basic Computer Engineering Unit II as per RGPV SyllabusNANDINI SHARMA
 
Analysis Of Algorithms I
Analysis Of Algorithms IAnalysis Of Algorithms I
Analysis Of Algorithms ISri Prasanna
 
Asymptotic Analysis in Data Structure using C
Asymptotic Analysis in Data Structure using CAsymptotic Analysis in Data Structure using C
Asymptotic Analysis in Data Structure using CMeghaj Mallick
 
Measuring algorithm performance
Measuring algorithm performanceMeasuring algorithm performance
Measuring algorithm performanceHabitamuAsimare
 
Data Structures- Part2 analysis tools
Data Structures- Part2 analysis toolsData Structures- Part2 analysis tools
Data Structures- Part2 analysis toolsAbdullah Al-hazmy
 
Daa unit 6_efficiency of algorithms
Daa unit 6_efficiency of algorithmsDaa unit 6_efficiency of algorithms
Daa unit 6_efficiency of algorithmssnehajiyani
 
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
 
Weekends with Competitive Programming
Weekends with Competitive ProgrammingWeekends with Competitive Programming
Weekends with Competitive ProgrammingNiharikaSingh839269
 
Data Structure & Algorithms - Mathematical
Data Structure & Algorithms - MathematicalData Structure & Algorithms - Mathematical
Data Structure & Algorithms - Mathematicalbabuk110
 
Asymptoptic notations
Asymptoptic notationsAsymptoptic notations
Asymptoptic notationsAlisha Jindal
 
Algorithm Analysis.pdf
Algorithm Analysis.pdfAlgorithm Analysis.pdf
Algorithm Analysis.pdfMemMem25
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexityAbbas Ali
 
Aad introduction
Aad introductionAad introduction
Aad introductionMr SMAK
 
Algorithm Analysis
Algorithm AnalysisAlgorithm Analysis
Algorithm AnalysisMegha V
 
Performance analysis and randamized agoritham
Performance analysis and randamized agorithamPerformance analysis and randamized agoritham
Performance analysis and randamized agorithamlilyMalar1
 
Data Structures and Algorithms Lecture 2: Analysis of Algorithms, Asymptotic ...
Data Structures and Algorithms Lecture 2: Analysis of Algorithms, Asymptotic ...Data Structures and Algorithms Lecture 2: Analysis of Algorithms, Asymptotic ...
Data Structures and Algorithms Lecture 2: Analysis of Algorithms, Asymptotic ...TechVision8
 

Similar to Asymptotic Notations (20)

Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithms
 
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
TIME EXECUTION   OF  DIFFERENT SORTED ALGORITHMSTIME EXECUTION   OF  DIFFERENT SORTED ALGORITHMS
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
 
Basic Computer Engineering Unit II as per RGPV Syllabus
Basic Computer Engineering Unit II as per RGPV SyllabusBasic Computer Engineering Unit II as per RGPV Syllabus
Basic Computer Engineering Unit II as per RGPV Syllabus
 
Analysis Of Algorithms I
Analysis Of Algorithms IAnalysis Of Algorithms I
Analysis Of Algorithms I
 
Asymptotic Analysis in Data Structure using C
Asymptotic Analysis in Data Structure using CAsymptotic Analysis in Data Structure using C
Asymptotic Analysis in Data Structure using C
 
Measuring algorithm performance
Measuring algorithm performanceMeasuring algorithm performance
Measuring algorithm performance
 
Data Structures- Part2 analysis tools
Data Structures- Part2 analysis toolsData Structures- Part2 analysis tools
Data Structures- Part2 analysis tools
 
Daa unit 6_efficiency of algorithms
Daa unit 6_efficiency of algorithmsDaa unit 6_efficiency of algorithms
Daa unit 6_efficiency of algorithms
 
Big o
Big oBig o
Big o
 
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
 
Weekends with Competitive Programming
Weekends with Competitive ProgrammingWeekends with Competitive Programming
Weekends with Competitive Programming
 
Data Structure & Algorithms - Mathematical
Data Structure & Algorithms - MathematicalData Structure & Algorithms - Mathematical
Data Structure & Algorithms - Mathematical
 
Asymptoptic notations
Asymptoptic notationsAsymptoptic notations
Asymptoptic notations
 
Complexity
ComplexityComplexity
Complexity
 
Algorithm Analysis.pdf
Algorithm Analysis.pdfAlgorithm Analysis.pdf
Algorithm Analysis.pdf
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexity
 
Aad introduction
Aad introductionAad introduction
Aad introduction
 
Algorithm Analysis
Algorithm AnalysisAlgorithm Analysis
Algorithm Analysis
 
Performance analysis and randamized agoritham
Performance analysis and randamized agorithamPerformance analysis and randamized agoritham
Performance analysis and randamized agoritham
 
Data Structures and Algorithms Lecture 2: Analysis of Algorithms, Asymptotic ...
Data Structures and Algorithms Lecture 2: Analysis of Algorithms, Asymptotic ...Data Structures and Algorithms Lecture 2: Analysis of Algorithms, Asymptotic ...
Data Structures and Algorithms Lecture 2: Analysis of Algorithms, Asymptotic ...
 

Recently uploaded

DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 

Recently uploaded (20)

DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 

Asymptotic Notations

  • 2. Contents  Asymptotic Notations  Recurrence relation  Substitution method  Iterative method  Recursion method  Master method
  • 3. Asymptotic Analysis and Recurrences  In this lecture we discuss the notion of asymptotic analysis and introduce O, Ω, and Θ notation.  Material in this lecture: • Asymptotic notation: O, Ω,and Θ.
  • 4. Asymptotic analysis Asymptotic analysis When we consider an algorithm for some problem, in addition to knowing that it produces a correct solution, we will be especially interested in analyzing its running time. There are several aspects of running time that one could focus on. Our focus will be primarily on the question: “how does the running time scale with the size of the input?” This is called asymptotic analysis, and the idea is that we will ignore low- order terms and constant factors, focusing instead on the shape of the running time curve. We will typically use n to denote the size of the input, and T(n) to denote the running time of our algorithm on an input of size n.
  • 5. What is n, f(n) g(n) and c?  f(n)= Is a function of n that denotes algorithm run time  n= input size/steps required to execute the program.  g(n)=is an arbitrary time complexity relate to algorithm  c=constant
  • 6. Continue…  f(n) is a linear function where we touch every element of a collections  f(n)=nlogn it is called nlogn function  T(n)= n² is called quadratic function it rises due to nested loops  F(n)= bn is called exponential function  F(n3)= is a cubic function
  • 7. Polynomial function  If P(x) = an xn + an-1 xn-1+.……….…+a2 x2 + a1 x + a0, then for x ≫ 0 or x ≪ 0, P(x) ≈ an xn.  Thus, polynomial functions approach power functions for very large values of their variables.  a values are constants here
  • 8. How to calculate f(n)? Calculating the value of f(n) for smaller programs is easy but for bigger programs, it's not that easy. We can compare the data structures by comparing their f(n) values. We can compare the data structures by comparing their f(n) values. We will find the growth rate of f(n) because there might be a possibility that one data structure for a smaller input size is better than the other one but not for the larger sizes. Now, how to find f(n).
  • 9. Let's look at a simple example. f(n) = 5n2 + 6n + 12  where n is the number of instructions executed, and it depends on the size of the input.  When n=1  % of running time due to 5n2 = * 100 = 21.74%  % of running time due to 6n = * 100 = 26.09%  % of running time due to 12 = * 100 = 52.17%  From the above calculation, it is observed that most of the time is taken by 12. But, we have to find the growth rate of f(n), we cannot say that the maximum amount of time is taken by 12. Let's assume the different values of n to find the growth rate of f(n).
  • 10. Let's assume the different values of n to find the growth rate of f(n) n 5n 2 6n 12 1 21.74% 26.09% 52.17% 10 87.41% 10.49% 2.09% 100 98.79% 1.19% 0.02% 1000 99.88% 0.12% 0.0002%
  • 11. Continue…  As we can observe in the above table that with the increase in the value of n, the running time of 5n2 increases while the running time of 6n and 12 also decreases. Therefore, it is observed that for larger values of n, the squared term consumes almost 99% of the time. As the n2 term is contributing most of the time, so we can eliminate the rest two terms.  Therefore,  f(n) = 5n2
  • 12. Continue…  Here, we are getting the approximate time complexity whose result is very close to the actual result. And this approximate measure of time complexity is known as an Asymptotic complexity. Here, we are not calculating the exact running time, we are eliminating the unnecessary terms, and we are just considering the term which is taking most of the time.  In mathematical analysis, asymptotic analysis of algorithm is a method of defining the mathematical boundation of its run-time performance. Using the asymptotic analysis, we can easily conclude the average-case, best-case and worst-case scenario of an algorithm.  It is used to mathematically calculate the running time of any operation inside an algorithm.
  • 13. Continue…  Example: Running time of one operation is x(n) and for another operation, it is calculated as f(n2). It refers to running time will increase linearly with an increase in 'n' for the first operation, and running time will increase exponentially for the second operation. Similarly, the running time of both operations will be the same if n is significantly small.  Usually, the time required by an algorithm comes under three types:  Worst case: It defines the input for which the algorithm takes a huge time.  Average case: It takes average time for the program execution.  Best case: It defines the input for which the algorithm takes the lowest time
  • 14. Asymptotic Notations  The commonly used asymptotic notations used for calculating the running time complexity of an algorithm is given below:  Big oh Notation (?)  Omega Notation (Ω)  Theta Notation (θ)
  • 15. Big oh Notation (O) Big O notation is an asymptotic notation that measures the performance of an algorithm by simply providing the order of growth of the function. This notation provides an upper bound on a function which ensures that the function never grows faster than the upper bound. So, it gives the least upper bound on a function so that the function never grows faster than this upper bound.
  • 16. Big oh Notation (O)  It is the formal way to express the upper boundary of an algorithm running time. It measures the worst case of time complexity or the algorithm's longest amount of time to complete its operation. It is represented as shown below:
  • 18. Big oh Notation (O)  For example:  If f(n) and g(n) are the two functions defined for positive integers,  then f(n) = O(g(n)) as f(n) is big oh of g(n) or f(n) is on the order of g(n)) if there exists constants c and no such that:  f(n)≤c.g(n) for all n≥no  This implies that f(n) does not grow faster than g(n), or g(n) is an upper bound on the function f(n). In this case, we are calculating the growth rate of the function which eventually calculates the worst time complexity of a function, i.e., how worst an algorithm can perform.
  • 19. Let's understand through examples  Example 1: f(n)=2n+3 , g(n)=n  Now, we have to find Is f(n)=O(g(n))?  To check f(n)=O(g(n)), it must satisfy the given condition:  f(n)<=c.g(n)  First, we will replace f(n) by 2n+3 and g(n) by n.  2n+3 <= c.n
  • 20. Continue…  Let's assume c=5, n=1 then  2*1+3<=5*1  5<=5  For n=1, the above condition is true.  If n=2  2*2+3<=5*2  7<=10  For n=2, the above condition is true.
  • 21. Continue…  We know that for any value of n, it will satisfy the above condition, i.e., 2n+3<=c.n. If the value of c is equal to 5, then it will satisfy the condition 2n+3<=c.n.  We can take any value of n starting from 1, it will always satisfy. Therefore, we can say that for some constants c and for some constants n0, it will always satisfy 2n+3<=c.n.  As it is satisfying the above condition, so f(n) is big oh of g(n) or we can say that f(n) grows linearly. Therefore, it concludes that c.g(n) is the upper bound of the f(n). It can be represented graphically as:
  • 24. Continue…  The idea of using big o notation is to give an upper bound of a particular function, and eventually it leads to give a worst-time complexity. It provides an assurance that a particular function does not behave suddenly as a quadratic or a cubic fashion, it just behaves in a linear manner in a worst-case.
  • 25. Omega Notation (Ω)  It basically describes the best-case scenario which is opposite to the big o notation.  It is the formal way to represent the lower bound of an algorithm's running time. It measures the best amount of time an algorithm can possibly take to complete or the best-case time complexity.  It determines what is the fastest time that an algorithm can run.
  • 26. Omega Notation (Ω)  If we required that an algorithm takes at least certain amount of time without using an upper bound, we use big- Ω notation i.e. the Greek letter "omega". It is used to bound the growth of running time for large input size.  If f(n) and g(n) are the two functions defined for positive integers,  then f(n) = Ω (g(n)) as f(n) is Omega of g(n) or f(n) is on the order of g(n)) if there exists constants c and no such that:  f(n)>=c.g(n) for all n≥no and c>0
  • 27. Let's consider a simple example.  If f(n) = 2n+3, g(n) = n,  Is f(n)= Ω (g(n))?  It must satisfy the condition:  f(n)>=c.g(n)  To check the above condition, we first replace f(n) by 2n+3 and g(n) by n.  2n+3>=c*n  Suppose c=1  2n+3>=n (This equation will be true for any value of n starting from 1).  Therefore, it is proved that g(n) is big omega of 2n+3 function.
  • 30. Continue…  As we can see in the above figure that g(n) function is the lower bound of the f(n) function when the value of c is equal to 1.  Therefore, this notation gives the fastest running time.  But, we are not more interested in finding the fastest running time, we are interested in calculating the worst-case scenarios because we want to check our algorithm for larger input that what is the worst time that it will take so that we can take further decision in the further process.
  • 31. Big Theta Notation (θ)  Theta Notation (θ)  The theta notation mainly describes the average case scenarios.  It represents the realistic time complexity of an algorithm. Every time, an algorithm does not perform worst or best, in real-world problems, algorithms mainly fluctuate between the worst-case and best-case, and this gives us the average case of the algorithm.  Big theta is mainly used when the value of worst-case and the best-case is same.  It is the formal way to express both the upper bound and lower bound of an algorithm running time.
  • 32. Big Theta Notation (θ)  Let's understand the big theta notation mathematically:  Let f(n) and g(n) be the functions of n where n is the steps required to execute the program then:  f(n)= θg(n)  The above condition is satisfied only if when  c1.g(n)<=f(n)<=c2.g(n)
  • 33. Big Theta Notation (θ)  where the function is bounded by two limits, i.e., upper and lower limit, and f(n) comes in between. The condition f(n)= θg(n) will be true if and only if c1.g(n) is less than or equal to f(n) and c2.g(n) is greater than or equal to f(n). The graphical representation of theta notation is given below:
  • 36. Big Theta Notation (θ)  Let's consider the same example where f(n)=2n+3 g(n)=n  As c1.g(n) should be less than f(n) so c1 has to be 1 whereas c2.g(n) should be greater than f(n) so c2 is equal to 5. The c1.g(n) is the lower limit of the of the f(n) while c2.g(n) is the upper limit of the f(n).  c1.g(n)<=f(n)<=c2.g(n)
  • 37. Big Theta Notation (θ)  Replace g(n) by n and f(n) by 2n+3  c1.n <=2n+3<=c2.n  if c1=1, c2=2, n=1  1*1 <=2*1+3 <=2*1  1 <= 5 <= 2 // for n=1, it satisfies the condition c1.g(n)<=f(n)<=c2.g(n)  If n=2  1*2<=2*2+3<=2*2  2<=7<=4 // for n=2, it satisfies the condition c1.g(n)<=f(n)<=c2.g(n)
  • 38. Big Theta Notation (θ)  Therefore, we can say that for any value of n, it satisfies the condition c1.g(n)<=f(n)<=c2.g(n). Hence, it is proved that f(n) is big theta of g(n). So, this is the average-case scenario which provides the realistic time complexity.
  • 39. Why we have three different asymptotic analysis?  As we know that big omega is for the best case, big oh is for the worst case while big theta is for the average case. Now, we will find out the average, worst and the best case of the linear search algorithm.  Suppose we have an array of n numbers, and we want to find the particular element in an array using the linear search. In the linear search, every element is compared with the searched element on each iteration. Suppose, if the match is found in a first iteration only, then the best case would be Ω(1), if the element matches with the last element, i.e., nth element of the array then the worst case would be O(n). The average case is the mid of the best and the worst-case, so it becomes θ(n/1). The constant terms can be ignored in the time complexity so average case would be θ(n).
  • 40.  So, three different analysis provide the proper bounding between the actual functions. Here, bounding means that we have upper as well as lower limit which assures that the algorithm will behave between these limits only, i.e., it will not go beyond these limits.
  • 41. Recurrence relation A recurrence is an equation or inequality that describes a function in terms of its values on smaller inputs. To solve a Recurrence Relation means to obtain a function defined on the natural numbers that satisfy the recurrence. For Example, the Worst Case Running Time T(n) of the MERGE SORT Procedures is described by the recurrence.
  • 42. Using Recursive C function finding Time complexity of an Recursive function:  Void test (int n)  {  If(n>0)  {  Printf(“%d”, n);  Test(n-1);  }  }  If by passing n=3 ; printing three times 3 2 1  No.of prints 3 i.e., 1+1+1=3 units of time  Number of calls is 3+1=4
  • 43. There are four methods for solving Recurrence:  Substitution method  Iterative method  Recursion method  Master method
  • 44. 1. Substitution Method: The Substitution Method Consists of two main steps: 1.Guess the Solution. 2.Use the mathematical induction to find the boundary condition and shows that the guess is correct.
  • 45. Cont… For Example1 Solve the equation by Substitution Method. T (n) = T + n We have to show that it is asymptotically bound by O(log n). Solution: For T (n) = O (log n) We have to show that for some constant c 1.T (n) ≤c logn. Put this in given Recurrence Equation. T (n) ≤c log + 1 ≤c log + 1 = c logn-clog2 2+1 ≤c logn for c≥1 Thus T (n) =O logn.
  • 46. Substitution method  Recurrence equation 1: T(n)=T(n-1)+n  Recurrence equation 2:T(n)=2T((n/2)+n  Recurrence equation 3:  T(n) =1 If n=1 =n*T(n-1) If n>1