Introduction:- algorithm definition and specification – Design of Algorithms, and Complexity of Algorithms, Asymptotic Notations, Growth of function, Recurrences, 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