CSE-408, Design and Analysis of Algorithms-Syllabus
The document outlines a course on Design and Analysis of Algorithms, detailing the expected outcomes and key topics covered. Students will learn techniques for analyzing algorithms, string matching, divide and conquer, dynamic programming, greedy algorithms, backtracking, and number theory. The course includes various textbooks for foundational knowledge and algorithmic problem-solving.
CSE-408, Design and Analysis of Algorithms-Syllabus
The document outlines a course on Design and Analysis of Algorithms, detailing the expected outcomes and key topics covered. Students will learn techniques for analyzing algorithms, string matching, divide and conquer, dynamic programming, greedy algorithms, backtracking, and number theory. The course includes various textbooks for foundational knowledge and algorithmic problem-solving.
(CSE408:DESIGN AND ANALYSIS OF ALGORITHMS
3 TO PO Creaits:3
Course Outcomes: Through this course students should be abe to
nit x
Unit 11
Unit
unit 1v
unit v
unit vi
‘Text Books:
C01 :: explain the basic techniques of analyzing the algorithms using space and time complexity,
‘asymptatie notations
(C02 :: analyse various string matching algorithms and understane brute fare algorithm design
technique
C03 :: understand divide and conquer algorithm design technique using various searching and
sorting algortims
COs :: define dynamic programming and greedy algorithm design technique and solve various all
Pair and single Source shortest path problems
COS :: apply the backtracking method to solve some cassie problems and understand branch and
bound algorthms design technique
COS :: define various number theory problems and understand the basies concepts of complexity
‘losses
Foundations of Algorithm : Aigerithms, Fundamentals of Algorithmic Prablem Solving, Basic
[Algorithm Design Techniques, Analyzing Algorithm, Fundamental Data Structure:, Linear Data
Structure, Graph and Trees, Fundamental ofthe Analysis of Algorithm Efciency, Measuring of
Input Size, Units for Measuring Running Time, Order of Growth, Worst-Case, Best-Case, and Average
Cave Efficiencies, Asymptotic Notations and Basic Efficiency Classes:, O(8\g-0h)-notation, &ig-omega
rotation, Big-theta notation, Useful Property Invalving the Asymptotic Notations, Using Limits for
Comparing Orders of Growth
‘String Matching Algorithms and Computational Geometry : Sequential Search and Brute-Force
String Matching, Closest Pair and Convex Hull Problem, Exhaustive Search, Voronei Diagrams, Naiva
String-Matehing Algorithm, Rabin-Karp Algorithm, Knuth-Morris-Pratt Algorthm
Divide and Conquer and Order Statistics: Merge Sort and Quick Sort, Binary Search,
‘Multiplication of Large integers, Strascen's Matrix Multiplication, Substtution Method for Solving
Recurrences, Recursion-Tree Method for Solving Recurrences, Master Method for Solving Recurrence,
Cosest-Pair and Convex-Hull Problems by Divide and Conquer, Decrease and Conquer: Insertion Sort,
Depth-First Search and Breadth-Frst Search, Connected Components, Topological Sor, Transform
‘and Canguer: Presorting, Balanced Search Trees, Minimum and Maximum, Counting Sort, Radix Sort,
Bucket Sort, Heape and Heapsort, Hashing, Selection Sort and Bubble Sort
Dynamic Programming and Greedy Techniques : Dynamic Programming: Computing a Binomial
Coefficient, Warshall's and Floya's Algorithm, Optimal Binary Search Trees, Knapsack Problem and
Memory Functions, Mairi-Chain Multiplication, Longest Common Subsequence, Greedy Technique
land Graph Algorithm: Minimum Spanning Trees, Prim's Algorithm, Kruskal's Algorithm, Dijkstra’
Algorithm, Huffman Cade, Single-Source Shortest Paths, l-pairs Shortest Paths, Iterative
Improversent: The Maximum-Flow Problem, Limitations of Algorithm Power: Lower-Baund Theory
‘Backtracking and Approximation Algorithms : Backtracking: n-Queens Problem, Hamitonian
Circuit Problem, Subset-sum Problem, Branchand-Bound: Assignment Problem, Knapsack Problem,
Traveling Salesman Problem, Vertex-Cover Problem and Set-Covering Problem, fin Packing Problems
‘Number-Theoretic Algorithms and Complexity Classes : Number Theory Problems: Modular
‘Arithmetic, Chinese Remainder Theorem, Greatest Common Divisor, Optimization Problems, Basic
Concepts ot Complexity Classes: P, NP, NP-hard, NP-complete Problems
1. INTRODUCTION TO THE DESIGN AND ANALYSIS OF ALGORITHM by ANANY LEVITIN,
PEARSON
4. INTRODUCTION TO ALGORITHMS by C.E. LEISERSON, R.L RIVEST AND C. STEIN,
‘THOMAS TELFORD LTD.
2, THE DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS by A.V.AHO, 1.6. HOPCROFT
‘AND J.0.ULLMAN, PEARSON.
3. COMPUTER ALGORITHMS - INTRODUCTION TO DESIGN AND ANALYSIS by SARA BAASE
[AND ALLEN VAN GELDER, PEARSON,
4, FUNDAMENTALS OF COMPUTER ALGORITHMS by HOROWITZ, S. SAHNI, GALGOTIA
PUBLICATIONS