Академический Документы
Профессиональный Документы
Культура Документы
L T P C
3 1 0 4
Objectives
To teach various efficient algorithms for solving fundamental problems.
To impart techniques for designing algorithms using appropriate data structures.
To analyze the correctness and performance of algorithms.
Expected Outcome
The students will be able to
Perform algorithm analysis.
Acquire knowledge of various algorithmic strategies.
Understand and implement the solution for different types of problem using suitable algorithm and data
structures.
Prerequisites/Exposure
Programming Fundamentals
Contents
BASIC ALGORITHMIC ANALYSIS
Asymptotic analysis of upper and average complexity bounds; Identifying differences among best, average, and
worst case behaviors; Big O, little o, omega, and theta notation; Standard complexity classes; Empirical
measurements of performance; Time and space tradeoffs in algorithms; Using recurrence relations to analyze
recursive algorithms.
ALGORITHMIC STRATEGIES
Brute-force algorithms; Greedy algorithms; Divide-and-conquer; Backtracking; Branch-and-bound; Heuristics;
Pattern matching and string/text algorithms; Numerical approximation algorithms.
GRAPHS
Representations of graphs (adjacency list, adjacency matrix, Sparse Matrix); Topological Sorting; Shortest-path
algorithms (Single source shortest path; Dijkstra‟s and Floyd‟s algorithms); Minimum spanning tree (Prim‟s and
Kruskal‟s algorithms);
Mode of Evaluation
Written examinations, Assignments, Surprise tests and Quizzes
36