Lecture0 DAA
Lecture0 DAA
Design a n d an alysis
a l g oof
rithms
Lecture
Course details
•CSE408
•LTP – 3 0 0 [Three lectures/week]
•Credit- 3
Vision
To be a globally recognized school through
excellence in teaching, learning and
research for creating Computer Science
professionals, leaders and entrepreneurs of
future contributing to society and industry
for sustainable growth.
Mission
• To build computational skills through hands-on
and practice-based learning with measurable
outcomes.
• To establish a strong connect with industry for in-
demand technology driven curriculum.
• To build the infrastructure for meaningful
research around societal problems.
• To nurture future leaders through research-infused
education and lifelong learning.
• To create smart and ethical professionals and
entrepreneurs who are recognized globally.
What will be the course outcome?
CO1: explain the basic techniques of analyzing the algorithms
using space and time complexity, asymptotic notations
CO2: analyze various string-matching algorithms and understand
brute force algorithm design technique
CO3: understand divide and conquer algorithm design technique
using various searching and sorting algorithms
CO4: define dynamic programming and greedy algorithm design
technique and solve various all pair and single source shortest
path problems
CO5: apply the backtracking method to solve some classic
problems and understand branch and bound algorithm design
technique
CO6:define various number theory problems and understand the
basics concepts of complexity classes
Program Outcomes
• PO1::Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex
engineering problems.
• PO12::Recognize the need for, and have the preparation and ability to engage
in independent and lifelong learning in the broadest context of technological
change.
Program Specific Outcome
PSO1: Apply acquired skills in software engineering,
networking, security, databases, intelligent systems,
cloud computing and operating systems to adapt and
deploy innovative software solutions for diverse
applications.
Unit1:
Foundations of Algorithm : Algorithms, Fundamentals of
Algorithmic Problem Solving:, Basic Algorithm Design
Techniques, Analyzing Algorithm, Fundamental Data Structure:
Linear Data Structure, Graphs and Trees, Fundamentals of the
Analysis of Algorithm Efficiency:, Measuring of Input Size, Units
for Measuring Running Time, Order of Growth, Worst-Case, Best-
Case, and Average Case Efficiencies,
Asymptotic Notations and Basic Efficiency Classes: O(Big-oh)-
notation, Big-omega notation, Big-theta notation, Useful Property
Involving the Asymptotic Notations, Using Limits for Comparing
Orders of Growth.
UNIT I
Foundations of algorithm
Basic DS
Analysis and growth
Course Contents
Unit 2:
String Matching Algorithms and Computational Geometry : Sequential
Search and Brute-Force String Matching, Closest-Pair and Convex-Hull
Problem, Exhaustive Search, Voronoi Diagrams, Naiva String-Matching
Algorithm, Rabin-Karp Algorithm, Knuth-Morris-Pratt Algorithm.
UNIT II
String matching algorithms and
computational geometry
Course Contents
Unit 3:
Divide and Conquer and Order Statistics : Merge Sort and Quick Sort,
Binary Search, Multiplication of Large Integers, Strassen's Matrix
Multiplication, Substitution Method for Solving Recurrences, Recursion-
Tree Method for Solving Recurrences, Master Method for Solving
Recurrence, Closest-Pair and Convex-Hull Problems by Divide and
Conquer, Decrease and Conquer: Insertion Sort, Depth-First Search and
Breadth-First Search, Connected Components, Topological Sort,
Transform and Conquer: Presorting, Balanced Search Trees, Minimum
and Maximum, Counting Sort, Radix Sort, Bucket Sort, Heaps and
Heapsort, Hashing, Selection Sort and Bubble Sort
UNIT III
Unit 4:
Dynamic Programming and Greedy Techniques : Dynamic Programming:
Computing a Binomial Coefficient, Warshall's and Floyd's Algorithm,
Optimal Binary Search Trees, Knapsack Problem and Memory Functions,
Matrix-Chain Multiplication, Longest Common Subsequence, Greedy
Technique and Graph Algorithm: Minimum Spanning Trees, Prim's
Algorithm, Kruskal's Algorithm, Dijkstra's Algorithm, Huffman Code,
Single-Source Shortest Paths, All-Pairs Shortest Paths, Iterative
Improvement: The Maximum-Flow Problem, Limitations of Algorithm
Power: Lower-Bound Theory.
UNIT IV
Benefits of Moocs:
• All Academic task exempted(CA1 and CA2).
• Exemption from the midterm examination.
Why we need to study this
course ?
Why are we learning Design and analysis of algorithms?
National Exams
Grade Revision and Overall Welfare (GROW)
International exams
Text Book
• INTRODUCTION TO THE DESIGN
AND ANALYSIS OF
ALGORITHMS
• ANANY LEVITIN,
PEARSON EDUCATION
Let’s Start: Foundations of algorithm