Daa Theory
Daa Theory
Banasthali Vidyapith
Department of Computer Science
Course Handout: B.Tech. (CSE/ IT/ CS-AI) IV Semester/ MCA II Semester/ M.Sc. (CS) II Semester
December 2024 – April/ May 2025
Date: 26-December-2024
Course Code: CS 213 Course Name: Design and Analysis of Algorithms
Credit Points: 4 Max. Marks: 100 (CA: 40 + ESA: 60)
Course Instructors:
Prof. Kusum Gupta, Professor (Computer Science) MCA II Sem. & M.Sc. (CS) II Sem.
Prof. Sanjay Kumar Sharma, Professor (Computer Science) B.Tech. (IT) IV Sem.
Mr. Vivek Purohit, Associate Professor (Computer Science) B.Tech. (CSE) IV Sem. Section A
Dr. Richa Jain, Assistant Professor (Computer Science) B.Tech. (CS-AI) IV Sem.
Mr. Ankur Sharma, Assistant Professor (Computer Science) B.Tech. (CSE) IV Sem. Section B & C
Learning Outcomes:
On successful completion of the course students will be able to:
Analyse the performance of various algorithms in terms of time and space.
Solve recurrence relations and compute complexity of various iterative and recursive algorithms.
Understand and use B-Tree and hashing techniques.
Understand algorithm design techniques like divide-and-conquer, greedy, dynamic programming, backtracking and
branch-and-bound and apply them for solving real world problems.
Syllabus:
Section A
Analysis of an Algorithm, Time and Space Complexity, Asymptotic Notation to represent Complexity of an Algorithm,
Solving Recurrence Relation by Substitution Method and Master Theorem. Heap, B-Tree, Union and Find Operations on
Disjoint Sets, Hashing and Collision Resolution Techniques. Graph: Representation, Breadth First and Depth First
Traversals of Graphs, Connected Components.
Section B
Divide and Conquer: General Method, Max-Min, Merge Sort, Quick Sort and Matrix Multiplication. Greedy Technique:
General Method, Knapsack Problem, Job Sequencing with Deadlines, Optimal Merge Patterns, Minimum Cost Spanning
Tree (Prim's and Kruskal's Method), Single Source Shortest Paths.
Section C
Dynamic Programming: General Method, All Pairs Shortest Paths, 0/1 Knapsack Problem, Traveling Salesman Problem.
Backtracking: General Method, N Queens Problem, Sum of Subsets Problem, Graph Coloring Problem, Hamiltonian
Cycles, 0/1 Knapsack Problem. Branch and Bound: General Method, 0/1 Knapsack Problem.
Suggested Books:
R1. Horowitz, E., Sahni, S., & Rajsekran S. (2003). Fundamentals of Computer Algorithms. Orient Black Swan.
R2. Aho, A.V., Hopcroft J.E., & Ullman J.D. (2016). The Design and Analysis of Computer Algorithms. Addison
Wesley.
R3. Cormen, T.H., Leiserson, C.E., Rivest, R.L., & Stein, C. (2009). Introduction to Algorithms. MIT Press.
R4. Berlioux, P., & Bizard, P. Algorithms - The Construction, Proof and Analysis of Programs. Wiley.
R5. Mehlhorn, K. (2013). Data Structures and Algorithms. Vol. 1 & Vol. 2. Springer Science & Business Media.
Suggested E-Learning Material:
E1. Design and Analysis of Algorithms: https://nptel.ac. in/courses/106101060/
E2. Algorithms Specialization: https://www.coursera.org/specializations/algorithms
Assessment:
Component Marks Submission/ Examination Date(s) Allotment/ Syllabus
Assignment 1@ 10 27 January, 2025# Topics shall be allotted in the class by
08 January, 2025#
Periodical Test 1 10 05-08 February, 2025* Lecture No. 01 to 22
Assignment 2@ 10 03 March, 2025# Topics shall be allotted in the class by
12 February, 2025#
Periodical Test 2 10 21-24 March, 2025* Lecture No. 23 to 40
End-Semester Examination 60 19 April - 05 May, 2025* Lecture No. 01 to 50 (Entire Syllabus)
* Subject to change, if required. # Flexible as per lesson plan.
@ Assignment marks will be based on written document(s)/ any other component(s) as decided by the instructor(s).
2 of 2
Lecture-Wise Schedule:
Lecture Topics to be Covered Suggested
Number Readings
01 – 02 Introduction to Algorithms, Analysis and Design Techniques R1/ R3/ R4/ E1
03 – 04 Heap: MaxHeap, MinHeap, Creating a Heap, Insertion into a Heap, Deletion from a Heap R1/ R2/ R3/
E1/ E2
05 – 07 Graph: Representations (Adjacency Matrix, Adjacency Lists), Breadth First Search and R1/ E2
Traversal, Depth First Search and Traversal, Connected Components
08 – 10 Disjoint Sets: Union, Find, Union with Weighting Rule, Find with Collapsing Rule R1
11 – 16 Analysis of Algorithm, Time and Space Complexities, Asymptotic Notations, Solving R1/ R2/ R3/
Recurrence Relation by Substitution Method and Master Theorem, Computing E1/ E2
Complexities of Simple Programs (Searching, Sorting, Recursive Programs)
17 – 22 Divide-and-Conquer: General Method, Binary Search, Finding the Maximum and R1/ R3/ R4/ E1
Minimum, Merge Sort, Quick Sort, Strassen’s Matrix Multiplication
23 – 29 Greedy Method: General Method, Knapsack Problem, Job Sequencing with Deadlines, R1/ R3/ E1/ E2
Minimum-Cost Spanning Tree (Prim’s Algorithm, Kruskal’s Algorithm), Optimal Merge
Patterns, Single-Source Shortest Paths (Dijkstra’s Algorithm)
30 – 34 Dynamic Programming: General Method, All-Pairs Shortest Paths (Floyd-Warshall R1/ R3/ E1/ E2
Algorithm), 0/1 Knapsack, Traveling Salesperson Problem
35 – 40 Backtracking: General Method, State Space Tree, N-Queens Problem, Sum of Subsets, R1
Graph Coloring, Hamiltonian Cycles, 0/1 Knapsack Problem
Mr. Ankur Sharma Dr. Richa Jain Mr. Vivek Purohit Prof. Sanjay Kumar Sharma Prof. Kusum Gupta