0% found this document useful (0 votes)
109 views

5-Analysis and Design of Algorithms

Uploaded by

John
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
109 views

5-Analysis and Design of Algorithms

Uploaded by

John
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 4
SILVER OAK UNIVERSITY College of Technology (01) Degree Engineering Course (Computer Engincering) Subject Name: Analysis and Design of Algorithms Subject Code: 1010043316 Semester: 5" Prerequisite: 1. Programming (C or C+) 2. Data and file structure Objectives: 1. Analyze the asymptotic performance of algorithms. 2. Demonstrate a familiarity with major algorithm design techniques. 3. Apply important algorithmic design paradigms and methods of analysis. 4, Solve simple to moderately difficult algorithmic problems arising in applications. 5. Able to demonstrate the hardness of simple NP-complete problems. ‘Teaching and Examination Scheme: Teaching Scheme Evaluation Scheme Total Marks L| T ] P | Contact | Credits Theory Practical Hours CIE SE CIE (TH) | (TH) (PR) 4} 0] 2 6 5 40 60 20 30 150 Content: Unit | Course Contents Teaching | Weightage No. Hours % Basics of Algorithms and Mathematics: What is an algorithm?, Properties of Algorithm, ‘Time and Space Complexity, detailed analysis. of algorithm, 3 Mathematics for Algorithmic Sets, Functions and Relations, Vectors and Matrices, Linear Inequalities and Linear Equations. Analysis of Algorithm: The efficient algorithm, Average, Best and worst case iis, Amortized analysis , Asymptotic Notations(Big-O, Big-Q and Big-O Notations their Geometrical Interpretation and Examples.), Recurrences: Recursive Algorithms and Recurrence Relations, Solving Recurrences, Analyzing control statement, Loop invariant and the correctness of the algorithm, Sorting Algorithms and analysis: Bubble sort, Selection sort, Insertion sort, Shell sort Heap sort, Sorting in linear time : Bucket sort, Radix sort and Counting sort 10 20 Divide and Conquer Algorithm: Introduction, Recurrence and different methods to solve recurrence, Multiplying large Integers Problem, Problem Solving using divide and conquer algorithm - Binary Search, Max-Min problem, Sorting (Merge Sort, Quick Sort), Matrix Multiplication, Exponential Dynamic Programming: Introduction, The Principle of Optimality, Problem Solving using Dynamic Programming — Calculating the Binomial Coefficient, Making Change Problem, Assembly Line-Scheduling, Knapsack problem, All Points Shortest path, Matrix chain multiplication, Longest Common Subsequence. 15 Greedy Algorithm General Characteristics of greedy algorithms, Problem solving, using Greedy Algorithm - Activity selection problem, Elements of Greedy Strategy, Minimum Spanning trees (Kruskal’s algorithm, Prim’s algorithm), Graphs: Shortest paths, The Knapsack Problem, Job Scheduling Problem, Huffman code. 15 Exploring Graphs: An introduction using graphs and games, Undirected Graph, Directed Graph, Traversing Graphs, Depth First Search, Breath First Search, Topological sort, Connected components 10 Backtracking and Branch and Bound: Introduction, The Eight queens problem , Knapsack problem, Travelling Salesman problem, Minimax principle 10 ing Matching: Introduction, The naive string matching algorithm, The Rabin-Karp algorithm, String Matching with finite automata, The Knuth-Morris-Pratt algorithm. Introduction to NP-Completeness: The class P and NP, Polynomial reduction, NP- Completeness Problem, NP-Hard Problems. Travelling Salesman problem, 1 9 5 Hamiltonian problem, Approximation algorithms, Randomized algorithms, Class of problems beyond NP - P SPACE Course Outcom Sr.No. CO statement Unit No | Weightage % CO-1 | Analyze the asymptotic performance of algorithms. 12 15% 0-2 _| Derive and solve recurrences describing the performance of 3 13% divide-and-conquer algorithms. . ° CO-3 _| Find optimal solution by applying various methods. 45 30% CO-4 | Explain the major graph algorithms and their analyses. Employ graphs to model engineering problems, when | 6,7 30% appropriate. CO-5 _| Apply pattern matching algorithms to find particular pattern. 8 5% 0-6 _ | Differentiate polynomial and nonpolynomial problems. 9 5% Teaching and Learning Mode: The course includes a laboratory, where students get the opportunity to practically apply the theoretical knowledge they have acquired in the lectures Lectures with attractive PowerPoint presentations Different experiments shall be carried out during the practical sessions, List of Experiments/Tutorials: 1. Implementation and Time analysis of sorting algorithms awhen Bubble sort, Selection sort, Insertion sort, Merge sort and Quicksort Implementation and Time analysis of linear and binary search algorithm. Implementation of max-heap sort algorithm Implementation and Time analysis of factorial program using iterative and recursive method Implementation of a knapsack problem using dynamic programming. Implementation of chain matrix multiplication using dynamic programming. Implementation of making a change problem using dynamic programming Implementation of a knapsack problem using greedy algorithm, Implementation of Graph and Searching (DFS and BFS). 10. Implement prim’s algorithm 11, Implement kruskal’s algorithm. 12. Implement LCS problem. Major Equipment/ Instrument(Software/Hardware): Computers with latest software configuration, Turbo C Books Recommended: Introduction to Algorithms, Thomas H. Cormen, Charles Rivestand Clifford Stein, PHL Fundamentals of Algorithms — E. Horowitz et al. Fundamental of Algorithms by Gills Brassard, Paul Bratley, PHT Introduction to Design and Analysis of Algorithms, Anany Levitin, Pearson. Foundations of Algorithms, Shailesh R Sathe, Penram Design and Analysis of Algorithms, Dave and Dave, Pearson. 3, Leiserson, Ronald L List of Open Source Software/learning website: NPTEL tutorials, hitp://www.coursera.org/

You might also like