SlideShare a Scribd company logo
8
Most read
14
Most read
18
Most read
ALGORITHMIC EFFICIENCY
Prof. K. Adisesha
BE, M.Sc., M.Th., NET, (Ph.D.)
2
Learning objectives
• Introduction
• Algorithm Definition
• What is computational Complexity
• Estimating Complexity of Algorithm
• Asymptotic Notations
• Complexity of an Algorithm
3
Algorithm
What is an Algorithm?
• An algorithm is a step-by-step procedure for solving a
problem in a finite amount of time.
• The word algorithm comes from the name of a Persian
Mathematician Abu Ja’far Mohammed ibn-I Musa al
Khowarizmi.
• For a given problem:
 There can be more than one solution (more than one
algorithm) .
 An algorithm can be implemented using different
programming languages on different platforms.
4
Algorithm
Designing of an Algorithm
• Design of an algorithm is an area of computer science which
minimizes the cost.
• Always design algorithms which minimize the cost.
Analysis of Algorithm
• Analysis of Algorithms is the area of computer science that
provides tools to analyze the efficiency of different methods
of solutions.
• In short predict the cost of an algorithm in terms of
resources and performance is called analysis of Algorithm.
5
Properties of Algorithm
Donald Ervin Knuth has given a list of five properties for an
algorithm, these properties are:
1. FINITENESS
2. DEFINITENESS
3. INPUT
4. OUTPUT
5. EFFECTIVENESS
6
Properties of Algorithm
FINITENESS
 An algorithm must always terminate after a finite number of steps.
 It means after every step one reach closer to solution of the problem
and after a finite number of steps algorithm reaches to an end point.
DEFINITENESS
 Each step of an algorithm must be precisely defined.
 It is done by well thought actions to be performed at each step of
the algorithm.
 Also the actions are defined unambiguously for each activity in the
algorithm.
INPUT
 Any operation you perform need some beginning value/ quantities
associated with different activities in the operation.
 So the value/quantities are given to the algorithm before it begins.
7
Properties of Algorithm
OUTPUT
 One always expects output/result (expected value/quantities) in
terms of output from an algorithm.
 The result may be obtained at different stages of the algorithm.
 Result is obtained from the intermediate stage of the operation then
it is known as intermediate result
 Result obtained at the end of algorithm is known as end result.
 The output is expected value/quantities always have a specified
relation to the inputs.
EFFECTIVENESS
 Algorithms to be developed/written using basic operations.
 Algorithms operations should be done exactly and in a finite amount
of time by a person, by using paper and pencil only.
8
Performance of an algorithm depends on
many factors:
• Internal Factors: Specify algorithm’s efficiency in terms of
 Time required to run
 Space (Memory)required to run
• External Factors: affect the algorithm’s performance
 Size of the input to the algorithm
 Speed of computer on which it is run
 Quality of the Computer
Efficiency of Algorithm
9
There are two aspects of algorithmic performance or
efficiency:
• TIME COMPLEXITY: It is essentially efficiency, or how long a
program function takes to process a given input.
 Instructions take time.
 How fast does the algorithm perform?
 What affects its runtime?
• SPACE COMPLEXITY: of an algorithm is total space taken by the
algorithm with respect to the input size. Space complexity includes
both Auxiliary space and space used by input.
 Data structures take space
 What kind of data structures can be used?
 How does choice of data structure affect the runtime?
Internal Factors
10
Asymptotic Analysis:
• In Asymptotic Analysis, we evaluate the performance of an
algorithm in terms of input size
• Asymptotic analysis of an algorithm refers to defining the
mathematical framing of its run-time performance.
• Usually, the time required by an algorithm falls under three
types −
 Best Case − Minimum time required for program execution.
 Average Case − Average time required for program execution.
 Worst Case − Maximum time required for program execution.
Asymptotic Analysis
11
Asymptotic Analysis:
• Following are the commonly used asymptotic notations to
calculate the running time complexity of an algorithm.
Asymptotic Analysis
12
Asymptotic Analysis:
• Following graph is commonly used to calculate the running
time complexity of an algorithm.
Asymptotic Analysis
13
• Big O specifically describes the worst-case scenario, and can
be used to describe the execution time required or the space
used (e.g. in memory or on disk) by an algorithm.
• Big O complexity can be visualized with this graph:
Ο Notation ( Big Oh Notation)
14
• Big Ω describes the set of all algorithms that run no better
than a certain speed (it’s a lower bound)
• It measures the best case time complexity or the best amount
of time an algorithm can possibly take to complete.
• Best case performance of an algorithm given function g(n),
we denote by Ω(g(n)) the set of functions.
Ω (g(n)) = {f(n): there exist positive constants c and n0
such that 0 <= c*g(n) <= f(n) for all n >= n0}.
• Best case performance of an algorithm is generally not useful,
the Omega notation is the least used notation among all
three.
Omega Notation - Ω
15
θ notation
• You can use the big-Theta notation to describe the average-case
complexity.
• The θ notation describes asymptotic tight bounds
• If an algorithm has the average-case time complexity of,
say, 3*n^2 - 5n + 13 ,
then it is true that its average-case time complexity is
Theta(n^2) , O(n^2) , and O(n^3)
Theta Notation - θ
16
TIME COMPLEXITY OF SORTING ALGORITHMS
TIME COMPLEXITY OF SEARCHING ALGORITHMS
TIME COMPLEXITY
17
SPACE COMPLEXITY
SPACE COMPLEXITY OF SEARCHING AND SORTING ALGORITHMS
18
• We learned about the Algorithm Definition
• What is computational Complexity
• Estimating Complexity of Algorithm
• Asymptotic Notations
• Complexity of an Algorithm
Thank you
Conclusion!

More Related Content

PPT
Introduction to method overloading &amp; method overriding in java hdm
PPT
Statistics: Probability
PPTX
Big Data Analytics
PPTX
PYTHON PPT.pptx
PDF
Introduction to Python
PPTX
Microsoft office
PDF
Google Deck on Digital Wellbeing 'A Call to Minimize Distraction and Respect ...
PPTX
Matrices
Introduction to method overloading &amp; method overriding in java hdm
Statistics: Probability
Big Data Analytics
PYTHON PPT.pptx
Introduction to Python
Microsoft office
Google Deck on Digital Wellbeing 'A Call to Minimize Distraction and Respect ...
Matrices

What's hot (20)

PPTX
Asymptotic notations
PPTX
Priority Queue in Data Structure
PPTX
Linked list
PDF
Set methods in python
PPT
Design and Analysis of Algorithms
PPTX
Linked list
PDF
List,tuple,dictionary
PPT
Data Structures and Algorithm Analysis
PPT
Asymptotic notations
PPSX
Data Structure (Queue)
PPTX
Doubly Linked List
PPTX
Bruteforce algorithm
PPTX
Sparse matrix and its representation data structure
PPTX
STACKS IN DATASTRUCTURE
PDF
Python recursion
PPTX
Queue ppt
PPSX
PDF
PDF
Algorithms Lecture 5: Sorting Algorithms II
PPTX
Polynomial reppresentation using Linkedlist-Application of LL.pptx
Asymptotic notations
Priority Queue in Data Structure
Linked list
Set methods in python
Design and Analysis of Algorithms
Linked list
List,tuple,dictionary
Data Structures and Algorithm Analysis
Asymptotic notations
Data Structure (Queue)
Doubly Linked List
Bruteforce algorithm
Sparse matrix and its representation data structure
STACKS IN DATASTRUCTURE
Python recursion
Queue ppt
Algorithms Lecture 5: Sorting Algorithms II
Polynomial reppresentation using Linkedlist-Application of LL.pptx
Ad

Similar to Python algorithm (20)

PPTX
2. Introduction to Algorithm.pptx
PPTX
Unit 1, ADA.pptx
PDF
Algorithm Analysis.pdf
PPTX
daa18d8d-d333-4398-94dd-a46802d88d79.pptx
PDF
Introduction to Algorithms Complexity Analysis
PPTX
Design and Analysis of Algorithms.pptx
PPTX
Algorithm in data structure bca .pptx
PPTX
Unit ii algorithm
PPTX
design analysis of algorithmaa unit 1.pptx
PPTX
Algorithm.pptx
PPTX
Algorithm.pptx
PPTX
FALLSEM2022-23_BCSE202L_TH_VL2022230103292_Reference_Material_I_25-07-2022_Fu...
PDF
12200223054_SrijanGho;sh_DAA_19.pdfkmkmm
PPTX
Introduction to algorithms
PPTX
Analysis and Design of Algorithms
PPTX
Algorithms & Complexity Calculation
PPTX
Design and analysis of algorithms unit1.pptx
PPTX
Algorithm for the DAA agscsnak javausmagagah
PPT
Lec1.ppt
PDF
Design Analysis and Algorithm Module1.pdf
2. Introduction to Algorithm.pptx
Unit 1, ADA.pptx
Algorithm Analysis.pdf
daa18d8d-d333-4398-94dd-a46802d88d79.pptx
Introduction to Algorithms Complexity Analysis
Design and Analysis of Algorithms.pptx
Algorithm in data structure bca .pptx
Unit ii algorithm
design analysis of algorithmaa unit 1.pptx
Algorithm.pptx
Algorithm.pptx
FALLSEM2022-23_BCSE202L_TH_VL2022230103292_Reference_Material_I_25-07-2022_Fu...
12200223054_SrijanGho;sh_DAA_19.pdfkmkmm
Introduction to algorithms
Analysis and Design of Algorithms
Algorithms & Complexity Calculation
Design and analysis of algorithms unit1.pptx
Algorithm for the DAA agscsnak javausmagagah
Lec1.ppt
Design Analysis and Algorithm Module1.pdf
Ad

More from Prof. Dr. K. Adisesha (20)

PDF
MACHINE LEARNING Notes by Dr. K. Adisesha
PDF
Probabilistic and Stochastic Models Unit-3-Adi.pdf
PDF
Genetic Algorithm in Machine Learning PPT by-Adi
PDF
Unsupervised Machine Learning PPT Adi.pdf
PDF
Supervised Machine Learning PPT by K. Adisesha
PDF
Introduction to Machine Learning PPT by K. Adisesha
PPSX
Design and Analysis of Algorithms ppt by K. Adi
PPSX
Data Structure using C by Dr. K Adisesha .ppsx
PDF
Operating System-4 "File Management" by Adi.pdf
PDF
Operating System-3 "Memory Management" by Adi.pdf
PDF
Operating System Concepts Part-1 by_Adi.pdf
PDF
Operating System-2_Process Managementby_Adi.pdf
PDF
Software Engineering notes by K. Adisesha.pdf
PDF
Software Engineering-Unit 1 by Adisesha.pdf
PDF
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
PDF
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
PDF
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
PDF
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
PDF
Computer Networks Notes by -Dr. K. Adisesha
PDF
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
MACHINE LEARNING Notes by Dr. K. Adisesha
Probabilistic and Stochastic Models Unit-3-Adi.pdf
Genetic Algorithm in Machine Learning PPT by-Adi
Unsupervised Machine Learning PPT Adi.pdf
Supervised Machine Learning PPT by K. Adisesha
Introduction to Machine Learning PPT by K. Adisesha
Design and Analysis of Algorithms ppt by K. Adi
Data Structure using C by Dr. K Adisesha .ppsx
Operating System-4 "File Management" by Adi.pdf
Operating System-3 "Memory Management" by Adi.pdf
Operating System Concepts Part-1 by_Adi.pdf
Operating System-2_Process Managementby_Adi.pdf
Software Engineering notes by K. Adisesha.pdf
Software Engineering-Unit 1 by Adisesha.pdf
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Computer Networks Notes by -Dr. K. Adisesha
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha

Recently uploaded (20)

PPTX
Revamp in MTO Odoo 18 Inventory - Odoo Slides
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Electrolyte Disturbances and Fluid Management A clinical and physiological ap...
PDF
Piense y hagase Rico - Napoleon Hill Ccesa007.pdf
PDF
The Final Stretch: How to Release a Game and Not Die in the Process.
PDF
High Ground Student Revision Booklet Preview
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
Landforms and landscapes data surprise preview
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
How to Manage Loyalty Points in Odoo 18 Sales
PPTX
Congenital Hypothyroidism pptx
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
LDMMIA Reiki Yoga S2 L3 Vod Sample Preview
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Insiders guide to clinical Medicine.pdf
PPTX
How to Manage Bill Control Policy in Odoo 18
Revamp in MTO Odoo 18 Inventory - Odoo Slides
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Electrolyte Disturbances and Fluid Management A clinical and physiological ap...
Piense y hagase Rico - Napoleon Hill Ccesa007.pdf
The Final Stretch: How to Release a Game and Not Die in the Process.
High Ground Student Revision Booklet Preview
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Landforms and landscapes data surprise preview
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
How to Manage Loyalty Points in Odoo 18 Sales
Congenital Hypothyroidism pptx
human mycosis Human fungal infections are called human mycosis..pptx
Renaissance Architecture: A Journey from Faith to Humanism
O7-L3 Supply Chain Operations - ICLT Program
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
LDMMIA Reiki Yoga S2 L3 Vod Sample Preview
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Insiders guide to clinical Medicine.pdf
How to Manage Bill Control Policy in Odoo 18

Python algorithm

  • 1. ALGORITHMIC EFFICIENCY Prof. K. Adisesha BE, M.Sc., M.Th., NET, (Ph.D.)
  • 2. 2 Learning objectives • Introduction • Algorithm Definition • What is computational Complexity • Estimating Complexity of Algorithm • Asymptotic Notations • Complexity of an Algorithm
  • 3. 3 Algorithm What is an Algorithm? • An algorithm is a step-by-step procedure for solving a problem in a finite amount of time. • The word algorithm comes from the name of a Persian Mathematician Abu Ja’far Mohammed ibn-I Musa al Khowarizmi. • For a given problem:  There can be more than one solution (more than one algorithm) .  An algorithm can be implemented using different programming languages on different platforms.
  • 4. 4 Algorithm Designing of an Algorithm • Design of an algorithm is an area of computer science which minimizes the cost. • Always design algorithms which minimize the cost. Analysis of Algorithm • Analysis of Algorithms is the area of computer science that provides tools to analyze the efficiency of different methods of solutions. • In short predict the cost of an algorithm in terms of resources and performance is called analysis of Algorithm.
  • 5. 5 Properties of Algorithm Donald Ervin Knuth has given a list of five properties for an algorithm, these properties are: 1. FINITENESS 2. DEFINITENESS 3. INPUT 4. OUTPUT 5. EFFECTIVENESS
  • 6. 6 Properties of Algorithm FINITENESS  An algorithm must always terminate after a finite number of steps.  It means after every step one reach closer to solution of the problem and after a finite number of steps algorithm reaches to an end point. DEFINITENESS  Each step of an algorithm must be precisely defined.  It is done by well thought actions to be performed at each step of the algorithm.  Also the actions are defined unambiguously for each activity in the algorithm. INPUT  Any operation you perform need some beginning value/ quantities associated with different activities in the operation.  So the value/quantities are given to the algorithm before it begins.
  • 7. 7 Properties of Algorithm OUTPUT  One always expects output/result (expected value/quantities) in terms of output from an algorithm.  The result may be obtained at different stages of the algorithm.  Result is obtained from the intermediate stage of the operation then it is known as intermediate result  Result obtained at the end of algorithm is known as end result.  The output is expected value/quantities always have a specified relation to the inputs. EFFECTIVENESS  Algorithms to be developed/written using basic operations.  Algorithms operations should be done exactly and in a finite amount of time by a person, by using paper and pencil only.
  • 8. 8 Performance of an algorithm depends on many factors: • Internal Factors: Specify algorithm’s efficiency in terms of  Time required to run  Space (Memory)required to run • External Factors: affect the algorithm’s performance  Size of the input to the algorithm  Speed of computer on which it is run  Quality of the Computer Efficiency of Algorithm
  • 9. 9 There are two aspects of algorithmic performance or efficiency: • TIME COMPLEXITY: It is essentially efficiency, or how long a program function takes to process a given input.  Instructions take time.  How fast does the algorithm perform?  What affects its runtime? • SPACE COMPLEXITY: of an algorithm is total space taken by the algorithm with respect to the input size. Space complexity includes both Auxiliary space and space used by input.  Data structures take space  What kind of data structures can be used?  How does choice of data structure affect the runtime? Internal Factors
  • 10. 10 Asymptotic Analysis: • In Asymptotic Analysis, we evaluate the performance of an algorithm in terms of input size • Asymptotic analysis of an algorithm refers to defining the mathematical framing of its run-time performance. • Usually, the time required by an algorithm falls under three types −  Best Case − Minimum time required for program execution.  Average Case − Average time required for program execution.  Worst Case − Maximum time required for program execution. Asymptotic Analysis
  • 11. 11 Asymptotic Analysis: • Following are the commonly used asymptotic notations to calculate the running time complexity of an algorithm. Asymptotic Analysis
  • 12. 12 Asymptotic Analysis: • Following graph is commonly used to calculate the running time complexity of an algorithm. Asymptotic Analysis
  • 13. 13 • Big O specifically describes the worst-case scenario, and can be used to describe the execution time required or the space used (e.g. in memory or on disk) by an algorithm. • Big O complexity can be visualized with this graph: Ο Notation ( Big Oh Notation)
  • 14. 14 • Big Ω describes the set of all algorithms that run no better than a certain speed (it’s a lower bound) • It measures the best case time complexity or the best amount of time an algorithm can possibly take to complete. • Best case performance of an algorithm given function g(n), we denote by Ω(g(n)) the set of functions. Ω (g(n)) = {f(n): there exist positive constants c and n0 such that 0 <= c*g(n) <= f(n) for all n >= n0}. • Best case performance of an algorithm is generally not useful, the Omega notation is the least used notation among all three. Omega Notation - Ω
  • 15. 15 θ notation • You can use the big-Theta notation to describe the average-case complexity. • The θ notation describes asymptotic tight bounds • If an algorithm has the average-case time complexity of, say, 3*n^2 - 5n + 13 , then it is true that its average-case time complexity is Theta(n^2) , O(n^2) , and O(n^3) Theta Notation - θ
  • 16. 16 TIME COMPLEXITY OF SORTING ALGORITHMS TIME COMPLEXITY OF SEARCHING ALGORITHMS TIME COMPLEXITY
  • 17. 17 SPACE COMPLEXITY SPACE COMPLEXITY OF SEARCHING AND SORTING ALGORITHMS
  • 18. 18 • We learned about the Algorithm Definition • What is computational Complexity • Estimating Complexity of Algorithm • Asymptotic Notations • Complexity of an Algorithm Thank you Conclusion!