ADA_1
ADA_1
Prepared by: -
Ms.Trupthi V
Mrs.Ashwini Singh.S
Mrs.Keerthishree PV
Assistant Professors,
Department of CSE.
Akshaya Institute of Technology, Tumakuru
Analysis & Design of Algorithms Semester 4
Course Code BCS401 CIE Marks 50
Teaching Hours/Week (L: T:P: S) 3:0:0:0 SEE Marks 50
Total Hours of Pedagogy 40 Total Marks 100
Credits 03 Exam Hours 03
Examination type (SEE) Theory
Course objectives:
● To learn the methods for analyzing algorithms and evaluating their performance.
● To demonstrate the efficiency of algorithms using asymptotic notations.
● To solve problems using various algorithm design methods, including brute force,
greedy, divide and conquer, decrease and conquer, transform and conquer, dynamic
programming, backtracking, and branch and bound.
● To learn the concepts of P and NP complexity classes.
Module-1
INTRODUCTION: What is an Algorithm?, Fundamentals of Algorithmic Problem Solving.
FUNDAMENTALS OF THE ANALYSIS OF ALGORITHM EFFICIENCY: Analysis Framework,
Asymptotic Notations and Basic Efficiency Classes, Mathematical Analysis of Non recursive
Algorithms, Mathematical Analysis of Recursive Algorithms.
BRUTE FORCE APPROACHES: Selection Sort and Bubble Sort, Sequential Search and Brute
Force String Matching.
Chapter 1 (Sections 1.1,1.2), Chapter 2(Sections 2.1,2.2,2.3,2.4), Chapter 3(Section
3.1,3.2)
Module-2
BRUTE FORCE APPROACHES (contd..): Exhaustive Search (Travelling Salesman probem and
Knapsack Problem).
DECREASE-AND-CONQUER: Insertion Sort, Topological Sorting.
DIVIDE AND CONQUER: Merge Sort, Quick Sort, Binary Tree Traversals, Multiplication of
Large Integers and Strassen’s Matrix Multiplication.
Chapter 3(Section 3.4), Chapter 4 (Sections 4.1,4.2), Chapter 5 (Section 5.1,5.2,5.3, 5.4)
Module-3
TRANSFORM-AND-CONQUER: Balanced Search Trees, Heaps and Heapsort.
SPACE-TIME TRADEOFFS: Sorting by Counting: Comparison counting sort, Input Enhancement in
String Matching: Horspool’s Algorithm.
Chapter 6 (Sections 6.3,6.4), Chapter 7 (Sections 7.1,7.2)
Module-4
DYNAMIC PROGRAMMING: Three basic examples, The Knapsack Problem and Memory
Functions, Warshall’s and Floyd’s Algorithms.
THE GREEDY METHOD: Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm, Huffman
Trees and Codes.
Chapter 8 (Sections 8.1,8.2,8.4), Chapter 9 (Sections 9.1,9.2,9.3,9.4)
Module-5
LIMITATIONS OF ALGORITHMIC POWER: Decision Trees, P, NP, and NP-Complete Problems.
COPING WITH LIMITATIONS OF ALGORITHMIC POWER: Backtracking (n-Queens problem,
Subset-sum problem), Branch-and-Bound (Knapsack problem), Approximation algorithms for
NP-Hard problems (Knapsack problem).
Chapter 11 (Section 11.2, 11.3), Chapter 12 (Sections 12.1,12.2,12.3)
Course outcome (Course Skill Set)
Semester-End Examination:
Theory SEE will be conducted by the University as per the scheduled timetable, with common
question papers for the course (duration 03 hours).
1. The question paper will have ten questions. Each question is set for 20 marks.
2. There will be 2 questions from each module. Each of the two questions under a module (with
a maximum of 3 sub-questions), should have a mix of topics under that module.
3. The students have to answer 5 full questions, selecting one full question from each module.
4. Marks scored shall be proportionally reduced to 50 marks
Reference books
1. Computer Algorithms/C++, Ellis Horowitz, SatrajSahni and Rajasekaran, 2nd Edition, 2014,
Universities Press.
2. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronal L. Rivest, Clifford
Stein, 3rd Edition, PHI.
3. Design and Analysis of Algorithms, S. Sridhar, Oxford (Higher Education)