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

Algo Syllabus New

This document provides a syllabus for an algorithms course. The course teaches techniques for designing and analyzing efficient algorithms, emphasizing practical methods. Students will learn to understand computational problems, design efficient solutions, and analyze algorithms' time and space complexity. Topics include sorting algorithms, divide and conquer, greedy algorithms applied to graphs, dynamic programming, backtracking, number theory algorithms, and text processing. Students will also learn about complexity classes such as P, NP, and NP-complete and use approximation algorithms. The course aims to help students apply algorithmic knowledge to problem solving, analyze algorithm performance, select optimal algorithms, and understand computational limits.

Uploaded by

Raj Einstein
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

Algo Syllabus New

This document provides a syllabus for an algorithms course. The course teaches techniques for designing and analyzing efficient algorithms, emphasizing practical methods. Students will learn to understand computational problems, design efficient solutions, and analyze algorithms' time and space complexity. Topics include sorting algorithms, divide and conquer, greedy algorithms applied to graphs, dynamic programming, backtracking, number theory algorithms, and text processing. Students will also learn about complexity classes such as P, NP, and NP-complete and use approximation algorithms. The course aims to help students apply algorithmic knowledge to problem solving, analyze algorithm performance, select optimal algorithms, and understand computational limits.

Uploaded by

Raj Einstein
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Analysis of Algorithms

Syllabus

Prerequisite: Engineering Mathematics, Data Structures and Discrete Mathematics


L-T-P: 4-0-2

Course Description
Algorithms are recipes for solving computational problems. This course teaches techniques
for the design and analysis of efficient algorithms for various applications, emphasizing
methods useful in practice.
Course Objective

Students undergoing this course are expected to:


1 To understand the problems in computing
2 To use/design the most efficient of the available/suitable techniques to solve these
problems
3 To obtain efficiency of the algorithm is to be analyzed in the domains of time, and
space
4 A lab course is also associated with it to strengthen the concepts.

Course Outcomes
CO Course Outcomes (Action verb should be in italics)
Numbers
CO-1 Apply knowledge of computing and mathematics for designing and
implementing problem solving algorithms.
CO-2 Analyze the best, average and worst-case performance of the algorithms
using asymptotic bounds.
CO-3 Choose and apply best suitable algorithm to find optimal solution of
engineering problems
CO-4 Demonstrate a familiarity with various classes of algorithms and data
structures.
CO-5 Realize the limits of computer algorithms via P, NP and NP-complete
problems.

Syllabus

Sorting and complexity analysis: Time and Space Complexity, Different Asymptotic
notations and their mathematical significance. Analysis of sorting algorithms of different
complexity classes: Sorting in Linear time, Heaps, Heat Sort and Priority Queues.
Divide and Conquer Algorithms: Binary Search, Merge sort, Multiplication of Large
Integers, Stassen’s Algorithm, Recurrences and Masters’ Method, Quick Sort and Order
Statistics.
Greedy Algorithms with Graph Recapitulation: Graph representation and Traversals,
Minimum Spanning Trees, Single Source Shortest Paths in a Graph, Bellman-Ford algorithm,
Dijkstra Algorithm, Dial’s Algorithm, Travelling Salesman Problem, Knapsack Problem, Job
Sequencing Problem, Vertex Cover Problem, Maximum Network Flow, Huffman Coding and
Encoding, Coin Change Problem
Dynamic Programming: Principle of Optimality, Memorization vs. Tabulation methods,
Cases where Greedy Algorithms Fails, 0/1 Knapsack, Matrix Chain Multiplication, Optimal
Binary Search Tree, Longest Common Subsequence, All-pairs Shortest Path Problem, Coin
Change Problem, Rod Cutting Problem,
Backtracking: Hamiltonian Cycle, N-Queens Problem, Graph Coloring Problem, Sum of
Subset Problem etc.
Number Theoretic Algorithms: The GCD, Modular Arithmetic, Primality Testing etc.
Text Processing: Naïve String Matching, Rabin Karp Algorithm, String Matching using
Finite Automata, KMP Algorithm.
NP-Completeness and Approximation algorithm:
P class, NP class, NP hard class, NP completes class – their interrelationship, Satisfiability
Problem and Reducibility Examples. Necessity of Approximation Scheme, Polynomial Time
Approximation with Examples.

Text Books

1. Cormen, Thomas H., et al. Introduction to algorithms. MIT press, 2009.


2. Horowitz, Ellis, SartajSahni, and Susan Anderson-Freed. Fundamentals of data
structures. Vol. 20. Potomac, MD: Computer science press, 1976.
3. Sedgewick, Robert, and Philippe Flajolet. An introduction to the analysis of
algorithms. Pearson Education India, 2013.

Reference Books

1. Levitin, Anany. Introduction to Design and Analysis of Algorithms, 2/E. Pearson


Education India, 2008.
2. Kozen, Dexter C. The design and analysis of algorithms. Springer Science & Business
Media, 1992.

Dr. Vibhav Prakash Singh


(CSED, MNNIT Allahabad)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy