Introduction:- algorithm definition and specification – performance analysis – Elementary Data structures:- stacks and queues – trees – dictionaries – priority queues – sets and disjoint set union – graphs – basic traversal and search techniques.
Divide – and – conquer: - General method – binary search – merge sort – quick sort – The Greedy method:- General method – knapsack problem – minimum cost spanning tree – single source shortest path.
Dynamic Programming - general method – multistage graphs – all pair shortest path – optimal binary search trees – 0/1 Knapsack – traveling salesman problem – flow shop scheduling.
Backtracking:- general method – 8-Queens problem – sum of subsets – graph coloring – Hamiltonian cycles – knapsack problem – Branch and bound:- The method – 0/1 Knapsack problem – traveling salesperson.
Parallel models:- Basic concepts, performance Measures. Parallel Algorithms: Parallel complexity, Analysis of Parallel Addition, Parallel Multiplication and division, Parallel Evaluation of General Arithmetic Expressions, First-Order Linear recurrence.
Reference Book:
2. S. Lakshmivarahan, SundarshanK.Dhall, "Analysis and Design of Parallel Algorithms". 3. Alfred V.Aho, John E.Hopcroft, Jeffrey D.Ullman, "Data Structures and Algorithms",2006. 4.GoodRich, “Data Structures & Algorithms in Java”, Wiley 3rd Edition, 2007.
Text Book:
1. Ellis Horowitz, “Computer Algorithms”, Galgotia Publications, 2008.