SlideShare a Scribd company logo
Course Name: Design and Analysis of Algorithm
Topic: Introduction to Algorithms, Specification of Algorithm
Course code : CS 3102
Credits : 4
Mode of delivery : Hybrid (Power point presentation)
Faculty : Mr. Sunil Kumar Patel
Email-id : sunil.patel@jaipur.manipal.edu
B.TECH V SEM CSE
ACADEMIC YEAR: 2023-2024
1
CS3102 (DAA), Dept. of CSE
Assessment
criteria’s
Assignment
quiz
Mid term examination
End term Examination
CS3102 (DAA), Dept. of CSE 2
Introduction to Algorithms,
Asymptotic Notations, Complexity
CS3102 (DAA), Dept. of CSE 3
Course Information
• Course Handout
• Communicate through eMail
• Office hours
• To be communicated
• Grading policy
• Will be communicated as per university guidelines
CS3102 (DAA), Dept. of CSE
4
Syllabus
• Introduction: Fundamentals of Algorithms, Important Problem Types, Analysis
of algorithm efficiency. Analysis Framework: Asymptotic Notations and Basic
Efficiency Classes. Mathematical Analysis of Nonrecursive and Recursive
Algorithms: Brute force Techniques, Divide and Conquer. Decrease and
Conquer: Insertion Sort, Depth First Search, Breadth First Search, Topological
Sorting. Transform and Conquer: Presorting, BST, Heapsort. Space and Time
tradeoffs: Input Enhancement in String Matching. Dynamic Programming:
Warshall's and Floyd's Algorithms, The Knapsack Problem. Greedy Techniques:
Prim's, Kruskal's and Dijkstra's Algorithm, Huffman Trees. Coping with
limitations of algorithmic power. Backtracking: nQueens problem, Hamiltonian
Circuit Problem, Subset Sum Problem. Branch and Bound: Assignment
Problem, Knapsack Problem, TSP. P, NP, and NP-complete Problems.
CS3102 (DAA), Dept. of CSE
5
More Information
• Textbook
•Introduction to Algorithms 3rd ,Cormen,
Leiserson, Rivest and Stein, The MIT Press,
• Fundamentals of Computer Algorithms,
2nd, Sartaj Sahni, Ellis Horowitz,
Sanguthevar Rajasekaran
• Others
• Introduction to Design & Analysis Computer Algorithm 3rd,
Sara Baase, Allen Van Gelder, Adison-Wesley, 2000.
• Algorithms, Richard Johnsonbaugh, Marcus Schaefer, Prentice
Hall, 2004.
• Introduction to The Design and Analysis of Algorithms 2nd
Edition, Anany Levitin, Adison-Wesley, 2007.
CS3102 (DAA), Dept. of CSE
6
Course Objectives
• CS1501.1 Analyse the running times of algorithms using asymptotic analysis.
• CS1501.2 Demonstrate and Design algorithms using divide-and-conquer
paradigm to solve business problems hence enhance skills.
• CS1501.3 Illustrate the concept of greedy and dynamic-programming approach
to solve real life problems to enhance entrepreneurship capabilities.
• CS1501.4 Demonstrate the concept of backtracking and branch & bound
algorithms.
• CS1501.5 Synthesize and analyse various advanced algorithms concept such as
graphs, string matching, approximation algorithms and complexity classes to
enhance employability.
CS3102 (DAA), Dept. of CSE
7
Why study algorithms and
performance?
• Algorithms help us to understand scalability.
• Performance often draws the line between what is feasible
and what is impossible.
• Algorithmic mathematics provides a language for talking
about program behavior.
• Performance is the currency of computing.
• The lessons of program performance generalize to other
computing resources.
CS3102 (DAA), Dept. of CSE
8
Two Distinct Choices
CS3102 (DAA), Dept. of CSE
9
Applications
CS3102 (DAA), Dept. of CSE
10
Asymptotic Performance
• In this course, we care most about
asymptotic performance
• How does the algorithm behave as the
problem size gets very large?
• Running time
• Memory/storage requirements
• Bandwidth/power requirements/logic gates/etc.
CS3102 (DAA), Dept. of CSE
11
Goal of the Course
• Learning to solve real problems that arise
frequently in computer application
• Learning the basic principles and techniques
used for answering the question: “How good,
or, how bad is the algorithm”
• Getting to know a group of “very difficult
problems” categorized as “NP-Complete”
CS3102 (DAA), Dept. of CSE
12
Design and Analysis, in general
Design
•Understanding the goal
•Select the tools
•What components are
needed
•How the components
should be put together
•Composing functions to
form a process
Analysis
•How does it work?
•Breaking a system down
to known components
•How the components
relate to each other
•Breaking a process down
to known functions
CS3102 (DAA), Dept. of CSE
13
Problem Solving
In general:
Understanding the problem
Selecting the strategy
Giving the steps
Proving the correctness
Trying to improve
Using computer:
Describing the problem:
Selecting the strategy:
Algorithm:
Input / Output/Step:
Analysis:
Correct or wrong
“good”or “bad”
Implementation:
Verification:
CS3102 (DAA), Dept. of CSE
14
Probably the Oldest Algorithm
CS3102 (DAA), Dept. of CSE
15
Euclid Algorithm: RecursiveVersion
CS3102 (DAA), Dept. of CSE
16
Algorithmically Solvable Problem
• Informally speaking
• A problem for which a computer program
can be written that will produce the correct
answer for any valid input if we let it run
long enough and allow it as much storage
space as it needs.
• Unsolvable(or un-decidable) problem
• Problems for which no algorithms exist
• the Halting Problem for Turing Machine
CS3102 (DAA), Dept. of CSE
17
Criteria for Algorithm Analysis
• Correctness
• Amount of work done
• Amount of space used
• Simplicity, clarity
• Optimality
CS3102 (DAA), Dept. of CSE
18

More Related Content

PDF
1. Introduction to Algorithms, Specification of Algorithm, Complexity.pdf
PPTX
PPT 1.1 - Introd. to Algo..pptxSDFGHJKXCVBNMXVBN
PPTX
PPT 1.1 - Introduction to Algorithms.pptx
PPTX
CS8451 DAA Unit-I.pptx
PDF
Cs6402 scad-msm
PPTX
Lesson 1 - Introduction to Algorithms.pptx
PDF
Lecture 1 (bce-7)
PPT
Lec1.ppt
1. Introduction to Algorithms, Specification of Algorithm, Complexity.pdf
PPT 1.1 - Introd. to Algo..pptxSDFGHJKXCVBNMXVBN
PPT 1.1 - Introduction to Algorithms.pptx
CS8451 DAA Unit-I.pptx
Cs6402 scad-msm
Lesson 1 - Introduction to Algorithms.pptx
Lecture 1 (bce-7)
Lec1.ppt

Similar to 1. Introduction to Algorithms, Specification of Algorithm, Complexity.pdf (20)

PPTX
01-Design and Analysis of Algorithms-Introduction
PPTX
DAA Unit1.pptx Design & Analysis of Algorithms UNIT 1
PPTX
Algo_lecture1-3.pptx
PDF
Design and Analysis Algorithms.pdf
PDF
Analysis of Algorithms Syllabus
PDF
Lecture 2 role of algorithms in computing
PPT
Types of Algorithms.ppt
PPTX
DAA Lecture on the accountabiltity of DAA
PPTX
DAA_Day0 (2).pptx for the presentation of the daa
PPT
DESIGN AND ANALYSIS OF ALGORITHM FULL NOTES
PPTX
Binary to hexadecimal algorithmic old.pptx
PDF
Be computer-engineering-2012
PPT
chapter 1
PPT
Lecture01 algorithm analysis
PPTX
L1_Welcome Lecture.pptx for introduction
PPTX
Lecture 1.pptx
PDF
complexity analysis.pdf
PPTX
daa18d8d-d333-4398-94dd-a46802d88d79.pptx
PPTX
CH-1.1 Introduction (1).pptx
PPTX
Design and Analysis of Algorithm ppt for unit one
01-Design and Analysis of Algorithms-Introduction
DAA Unit1.pptx Design & Analysis of Algorithms UNIT 1
Algo_lecture1-3.pptx
Design and Analysis Algorithms.pdf
Analysis of Algorithms Syllabus
Lecture 2 role of algorithms in computing
Types of Algorithms.ppt
DAA Lecture on the accountabiltity of DAA
DAA_Day0 (2).pptx for the presentation of the daa
DESIGN AND ANALYSIS OF ALGORITHM FULL NOTES
Binary to hexadecimal algorithmic old.pptx
Be computer-engineering-2012
chapter 1
Lecture01 algorithm analysis
L1_Welcome Lecture.pptx for introduction
Lecture 1.pptx
complexity analysis.pdf
daa18d8d-d333-4398-94dd-a46802d88d79.pptx
CH-1.1 Introduction (1).pptx
Design and Analysis of Algorithm ppt for unit one
Ad

Recently uploaded (20)

PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Pharma ospi slides which help in ospi learning
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
01-Introduction-to-Information-Management.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
A systematic review of self-coping strategies used by university students to ...
PPTX
Lesson notes of climatology university.
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
Complications of Minimal Access Surgery at WLH
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
Final Presentation General Medicine 03-08-2024.pptx
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
GDM (1) (1).pptx small presentation for students
Pharma ospi slides which help in ospi learning
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
01-Introduction-to-Information-Management.pdf
Anesthesia in Laparoscopic Surgery in India
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
A systematic review of self-coping strategies used by university students to ...
Lesson notes of climatology university.
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Complications of Minimal Access Surgery at WLH
FourierSeries-QuestionsWithAnswers(Part-A).pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
2.FourierTransform-ShortQuestionswithAnswers.pdf
Cell Types and Its function , kingdom of life
Final Presentation General Medicine 03-08-2024.pptx
Ad

1. Introduction to Algorithms, Specification of Algorithm, Complexity.pdf

  • 1. Course Name: Design and Analysis of Algorithm Topic: Introduction to Algorithms, Specification of Algorithm Course code : CS 3102 Credits : 4 Mode of delivery : Hybrid (Power point presentation) Faculty : Mr. Sunil Kumar Patel Email-id : sunil.patel@jaipur.manipal.edu B.TECH V SEM CSE ACADEMIC YEAR: 2023-2024 1 CS3102 (DAA), Dept. of CSE
  • 2. Assessment criteria’s Assignment quiz Mid term examination End term Examination CS3102 (DAA), Dept. of CSE 2
  • 3. Introduction to Algorithms, Asymptotic Notations, Complexity CS3102 (DAA), Dept. of CSE 3
  • 4. Course Information • Course Handout • Communicate through eMail • Office hours • To be communicated • Grading policy • Will be communicated as per university guidelines CS3102 (DAA), Dept. of CSE 4
  • 5. Syllabus • Introduction: Fundamentals of Algorithms, Important Problem Types, Analysis of algorithm efficiency. Analysis Framework: Asymptotic Notations and Basic Efficiency Classes. Mathematical Analysis of Nonrecursive and Recursive Algorithms: Brute force Techniques, Divide and Conquer. Decrease and Conquer: Insertion Sort, Depth First Search, Breadth First Search, Topological Sorting. Transform and Conquer: Presorting, BST, Heapsort. Space and Time tradeoffs: Input Enhancement in String Matching. Dynamic Programming: Warshall's and Floyd's Algorithms, The Knapsack Problem. Greedy Techniques: Prim's, Kruskal's and Dijkstra's Algorithm, Huffman Trees. Coping with limitations of algorithmic power. Backtracking: nQueens problem, Hamiltonian Circuit Problem, Subset Sum Problem. Branch and Bound: Assignment Problem, Knapsack Problem, TSP. P, NP, and NP-complete Problems. CS3102 (DAA), Dept. of CSE 5
  • 6. More Information • Textbook •Introduction to Algorithms 3rd ,Cormen, Leiserson, Rivest and Stein, The MIT Press, • Fundamentals of Computer Algorithms, 2nd, Sartaj Sahni, Ellis Horowitz, Sanguthevar Rajasekaran • Others • Introduction to Design & Analysis Computer Algorithm 3rd, Sara Baase, Allen Van Gelder, Adison-Wesley, 2000. • Algorithms, Richard Johnsonbaugh, Marcus Schaefer, Prentice Hall, 2004. • Introduction to The Design and Analysis of Algorithms 2nd Edition, Anany Levitin, Adison-Wesley, 2007. CS3102 (DAA), Dept. of CSE 6
  • 7. Course Objectives • CS1501.1 Analyse the running times of algorithms using asymptotic analysis. • CS1501.2 Demonstrate and Design algorithms using divide-and-conquer paradigm to solve business problems hence enhance skills. • CS1501.3 Illustrate the concept of greedy and dynamic-programming approach to solve real life problems to enhance entrepreneurship capabilities. • CS1501.4 Demonstrate the concept of backtracking and branch & bound algorithms. • CS1501.5 Synthesize and analyse various advanced algorithms concept such as graphs, string matching, approximation algorithms and complexity classes to enhance employability. CS3102 (DAA), Dept. of CSE 7
  • 8. Why study algorithms and performance? • Algorithms help us to understand scalability. • Performance often draws the line between what is feasible and what is impossible. • Algorithmic mathematics provides a language for talking about program behavior. • Performance is the currency of computing. • The lessons of program performance generalize to other computing resources. CS3102 (DAA), Dept. of CSE 8
  • 9. Two Distinct Choices CS3102 (DAA), Dept. of CSE 9
  • 11. Asymptotic Performance • In this course, we care most about asymptotic performance • How does the algorithm behave as the problem size gets very large? • Running time • Memory/storage requirements • Bandwidth/power requirements/logic gates/etc. CS3102 (DAA), Dept. of CSE 11
  • 12. Goal of the Course • Learning to solve real problems that arise frequently in computer application • Learning the basic principles and techniques used for answering the question: “How good, or, how bad is the algorithm” • Getting to know a group of “very difficult problems” categorized as “NP-Complete” CS3102 (DAA), Dept. of CSE 12
  • 13. Design and Analysis, in general Design •Understanding the goal •Select the tools •What components are needed •How the components should be put together •Composing functions to form a process Analysis •How does it work? •Breaking a system down to known components •How the components relate to each other •Breaking a process down to known functions CS3102 (DAA), Dept. of CSE 13
  • 14. Problem Solving In general: Understanding the problem Selecting the strategy Giving the steps Proving the correctness Trying to improve Using computer: Describing the problem: Selecting the strategy: Algorithm: Input / Output/Step: Analysis: Correct or wrong “good”or “bad” Implementation: Verification: CS3102 (DAA), Dept. of CSE 14
  • 15. Probably the Oldest Algorithm CS3102 (DAA), Dept. of CSE 15
  • 17. Algorithmically Solvable Problem • Informally speaking • A problem for which a computer program can be written that will produce the correct answer for any valid input if we let it run long enough and allow it as much storage space as it needs. • Unsolvable(or un-decidable) problem • Problems for which no algorithms exist • the Halting Problem for Turing Machine CS3102 (DAA), Dept. of CSE 17
  • 18. Criteria for Algorithm Analysis • Correctness • Amount of work done • Amount of space used • Simplicity, clarity • Optimality CS3102 (DAA), Dept. of CSE 18