Syllabus

Course Code: Program Elective -II MTCE-111    Course Name: Algorithm Analysis and Design

MODULE NO / UNIT COURSE SYLLABUS CONTENTS OF MODULE NOTES
1 Introduction:
Algorithm concepts, Analyzing and design, Pseudocode conventions, asymptotic efficiency of algorithms, asymptotic notations and their properties.
Analysis Techniques:
Growth Functions, Recurrences and Solution of Recurrence equation-, Amortized Analysis, Aggregate, Accounting and Potential Methods, Probabilistic analysis concepts, hiring problem and its probabilistic analysis, String Matching: naive string Matching, Rabin Karp, and String matching with finite Automata, KW and Boyer – Moore algorithm.
2 Number Theoretic Algorithms:
Elementary notions, GCD, Modular Arithmetic, Solving modular linear equations, The chines remainder theorem, Powers of an element, RSA cryptosystem, Primality testing, Integer factorization, Polynomials. Huffman Codes: Concepts, construction, correctness of Huffman’s algorithms; Representation of polynomials, DFT, FFT, Efficient implementation of FFT, Graph Algorithm, Bellman Ford Algorithm, Single source shortest paths in a DAG Johnson’s Algorithm for sparse graph, Flow networks & Ford fulkerson Algorithm, Maximum bipartite matching.
3 Computational Geometry:
Geometric structures using C++: Vectors, points, Polygons, Edges: Geometric Objects in space: Finding the intersection of a line & triangle, Finding star shaped polygons and convex hull using incremental insertion.
4 NP-completeness Concepts:
Polynomial time verification, NP-completeness and reducibility, showing problems to be NP-complete like Clique problem, vertex cover problem etc. Approximation algorithms of these problems.
Copyright © 2020 Kurukshetra University, Kurukshetra. All Rights Reserved.