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

PPTX
Pointers,virtual functions and polymorphism cpp
PPTX
Data structure and algorithm
PPTX
Object oriented programming in python
PPTX
Chapter 6 algorithms and flow charts
PDF
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...
PPTX
Python: Polymorphism
PPTX
Iterarators and generators in python
PPTX
Memory management in python
Pointers,virtual functions and polymorphism cpp
Data structure and algorithm
Object oriented programming in python
Chapter 6 algorithms and flow charts
What are Data structures in Python? | List, Dictionary, Tuple Explained | Edu...
Python: Polymorphism
Iterarators and generators in python
Memory management in python

What's hot (20)

PDF
Algorithms Lecture 1: Introduction to Algorithms
PPT
Complexity of Algorithm
PDF
Python list
PPT
Asymptotic notations
PPTX
Linked List
PPT
Unit 1 chapter 1 Design and Analysis of Algorithms
PPTX
Multiplication algorithm
PPTX
Priority Queue in Data Structure
PPTX
Python Data Structures and Algorithms.pptx
PPTX
Data structure - Graph
PPT
Data Structure and Algorithms Hashing
PDF
Algorithms Lecture 2: Analysis of Algorithms I
PPTX
Algorithm Introduction
PPTX
Recursion
PPTX
Top Down Parsing, Predictive Parsing
PPTX
Peephole optimization techniques in compiler design
PPTX
Recognition-of-tokens
PPTX
Input-Buffering
PPTX
Algorithm Complexity and Main Concepts
PPTX
Hashing Technique In Data Structures
Algorithms Lecture 1: Introduction to Algorithms
Complexity of Algorithm
Python list
Asymptotic notations
Linked List
Unit 1 chapter 1 Design and Analysis of Algorithms
Multiplication algorithm
Priority Queue in Data Structure
Python Data Structures and Algorithms.pptx
Data structure - Graph
Data Structure and Algorithms Hashing
Algorithms Lecture 2: Analysis of Algorithms I
Algorithm Introduction
Recursion
Top Down Parsing, Predictive Parsing
Peephole optimization techniques in compiler design
Recognition-of-tokens
Input-Buffering
Algorithm Complexity and Main Concepts
Hashing Technique In Data Structures
Ad

Similar to Python algorithm (20)

PPTX
Algorithm analysis and design
PPTX
Unit 1, ADA.pptx
PPTX
Algorithm in data structure bca .pptx
PPTX
Modile-1-PPT-1-BCAC0207-AlgorithmDesign.pptx
PPT
Introduction to design and analysis of algorithm
PPTX
Chapter 09 design and analysis of algorithms
PPTX
design analysis of algorithmaa unit 1.pptx
PDF
Algorithm Analysis.pdf
PPTX
2. Introduction to Algorithm.pptx
PPTX
Lec 2 algorithms efficiency complexity
PPTX
Introduction to algorithms
PDF
Performance Analysis,Time complexity, Asymptotic Notations
PDF
DAAMOD12hjsfgi haFIUAFKJNASFQF MNDAF.pdf
PDF
Algorithm Analysis.pdf
PPTX
Unit ii algorithm
PPTX
daa unit 1.pptx
PPTX
Analysis and Design of Algorithms
PPTX
Algorithm.pptx
PPTX
Algorithm.pptx
PDF
Design Analysis and Algorithm Module1.pdf
Algorithm analysis and design
Unit 1, ADA.pptx
Algorithm in data structure bca .pptx
Modile-1-PPT-1-BCAC0207-AlgorithmDesign.pptx
Introduction to design and analysis of algorithm
Chapter 09 design and analysis of algorithms
design analysis of algorithmaa unit 1.pptx
Algorithm Analysis.pdf
2. Introduction to Algorithm.pptx
Lec 2 algorithms efficiency complexity
Introduction to algorithms
Performance Analysis,Time complexity, Asymptotic Notations
DAAMOD12hjsfgi haFIUAFKJNASFQF MNDAF.pdf
Algorithm Analysis.pdf
Unit ii algorithm
daa unit 1.pptx
Analysis and Design of Algorithms
Algorithm.pptx
Algorithm.pptx
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
Microbial diseases, their pathogenesis and prophylaxis
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Institutional Correction lecture only . . .
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Complications of Minimal Access Surgery at WLH
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Lesson notes of climatology university.
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
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 Đ...
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Pharma ospi slides which help in ospi learning
PPTX
Cell Types and Its function , kingdom of life
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Microbial diseases, their pathogenesis and prophylaxis
VCE English Exam - Section C Student Revision Booklet
Institutional Correction lecture only . . .
PPH.pptx obstetrics and gynecology in nursing
Complications of Minimal Access Surgery at WLH
Supply Chain Operations Speaking Notes -ICLT Program
TR - Agricultural Crops Production NC III.pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Lesson notes of climatology university.
Module 4: Burden of Disease Tutorial Slides S2 2025
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Computing-Curriculum for Schools in Ghana
Pharma ospi slides which help in ospi learning
Cell Types and Its function , kingdom of life
Chapter 2 Heredity, Prenatal Development, and Birth.pdf

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!