Agenda Item 65/39 - Annexure - 35
BCSE204L Design and Analysis of Algorithms L T P C
3 0 0 3
Pre-requisite NIL Syllabus version
1.0
Course Objectives
1. To provide mathematical foundations for analyzing the complexity of the algorithms
2. To impart the knowledge on various design strategies that can help in solving the real world
problems effectively
3. To synthesize efficient algorithms in various engineering design situations
Course Outcomes
On completion of this course, student should be able to:
1. Apply the mathematical tools to analyze and derive the running time of the algorithms
2. Demonstrate the major algorithm design paradigms.
3. Explain major graph algorithms, string matching and geometric algorithms along with their
analysis.
4. Articulating Randomized Algorithms.
5. Explain the hardness of real-world problems with respect to algorithmic efficiency and learning to
cope with it.
Module:1 Design Paradigms: Greedy, Divide and Conquer 6 hours
Techniques
Overview and Importance of Algorithms - Stages of algorithm development: Describing the problem,
Identifying a suitable technique, Design of an algorithm, Derive Time Complexity, Proof of
Correctness of the algorithm, Illustration of Design Stages - Greedy techniques: Fractional Knapsack
Problem, and Huffman coding - Divide and Conquer: Maximum Subarray, Karatsuba faster integer
multiplication algorithm.
Module:2 Design Paradigms: Dynamic Programming, Backtracking 10 hours
and Branch & Bound Techniques
Dynamic programming: Assembly Line Scheduling, Matrix Chain Multiplication, Longest Common
Subsequence, 0-1 Knapsack, TSP- Backtracking: N-Queens problem, Subset Sum, Graph Coloring-
Branch & Bound: LIFO-BB and FIFO BB methods: Job Selection problem, 0-1 Knapsack Problem
Module:3 String Matching Algorithms 5 hours
Naïve String-matching Algorithms, KMP algorithm, Rabin-Karp Algorithm, Suffix Trees.
Module:4 Graph Algorithms 6 hours
All pair shortest path: Bellman Ford Algorithm, Floyd-Warshall Algorithm - Network Flows: Flow
Networks, Maximum Flows: Ford-Fulkerson, Edmond-Karp, Push Re-label Algorithm – Application of
Max Flow to maximum matching problem
Module:5 Geometric Algorithms 4 hours
Line Segments: Properties, Intersection, sweeping lines - Convex Hull finding algorithms: Graham’s
Scan, Jarvis’ March Algorithm.
Module:6 Randomized algorithms 5 hours
Randomized quick sort - The hiring problem - Finding the global Minimum Cut.
Module:7 Classes of Complexity and Approximation 7 hours
Algorithms
The Class P - The Class NP - Reducibility and NP-completeness – SAT (Problem Definition and
statement), 3SAT, Independent Set, Clique, Approximation Algorithm – Vertex Cover, Set Cover and
Travelling salesman
Module:8 Contemporary Issues 2 hours
Total Lecture hours: 45 hours
Text Book
1. Thomas H. Cormen, C.E. Leiserson, R L.Rivest and C. Stein, Introduction to Algorithms, Third
edition, MIT Press, 2009.
Proceedings of the 65th Academic Council (17.03.2022) 976
Agenda Item 65/39 - Annexure - 35
Reference Books
st
1. Jon Kleinberg and ÉvaTardos, Algorithm Design, Pearson Education, 1 Edition, 2014.
2. Rajeev Motwani, Prabhakar Raghavan; Randomized Algorithms, Cambridge University Press,
1995 (Online Print – 2013)
3. Ravindra K. Ahuja, Thomas L. Magnanti, and James B. Orlin, Network Flows: Theory,
st
Algorithms, and Applications, 1 Edition, Pearson Education, 2014.
Mode of Evaluation: CAT, Written assignments, Quiz, FAT.
Recommended by Board of Studies 04-03-2022
Approved by Academic Council No. 65 Date 17-03-2022
Proceedings of the 65th Academic Council (17.03.2022) 977
Agenda Item 65/39 - Annexure - 35
BCSE204P Design and Analysis of Algorithms Lab L T P C
0 0 2 1
Pre-requisite Nil Syllabus version
1.0
Course Objectives
1. To provide mathematical foundations for analyzing the complexity of the algorithms
2. To impart the knowledge on various design strategies that can help in solving the real
world problems effectively
3. Synthesize efficient algorithms in various engineering design situations
Course Outcome
On completion of this course, student should be able to:
1. Demonstrate the major algorithm design paradigms.
2. Explain major graph algorithms, string matching and geometric algorithms along with their
analysis.
Indicative Experiments
1. Greedy Strategy : Activity Selection & Huffman coding
2. Dynamic Programming : ALS, Matrix Chain Multiplication , Longest Common
Subsequence, 0-1 Knapsack
3. Divide and Conquer : Maximum Subarray and Karatsuba faster integer multiplication
algorithm
4. Backtracking: N-queens
5. Branch and Bound: Job selection
6 String matching algorithms : Naïve, KMP and Rabin Karp,suffix trees
7 MST and all pair shortest path algorithms
8 Network Flows : Ford –Fulkerson and Edmond - Karp
9 Intersection of line segments &Finding Convexhull, Finding closest pair of points
10 Polynomial time algorithm for verification of NPC problems
11 Approximation and Randomized algorithms
Total Laboratory Hours 30 Hours
Text Book
1. Thomas H. Cormen, C.E. Leiserson, R L.Rivest and C. Stein, Introduction to
Algorithms, Third edition, MIT Press, 2009.
Reference Books
1. Jon Kleinberg and ÉvaTardos, Algorithm Design, Pearson Education, 1st Edition, 2014.
2. Rajeev Motwani, Prabhakar Raghavan; Randomized Algorithms, Cambridge University
Press, 1995 (Online Print – 2013)
3. Ravindra K. Ahuja, Thomas L. Magnanti, and James B. Orlin, Network Flows: Theory,
Algorithms, and Applications, 1st Edition, Pearson Education, 2014.
Mode of assessment: Continuous assessments, FAT.
Recommended by Board of Studies 04-03-2022
Approved by Academic Council No. 65 Date 17-03-2022
Proceedings of the 65th Academic Council (17.03.2022) 978