Professional Documents
Culture Documents
Saquib Ahmad Algorithm Design Strategy
Saquib Ahmad Algorithm Design Strategy
DESIGN STRATEGIES
Prepared By.
Prof. Saquib Ahmed
Anjuman College of Engineering & Technology
Department of Computer Science & Engineering
SYLLABUS
UNIT-I Mathematical foundations, summation of arithmetic and geometric series, n, n2 ,
bounding summations using integration, Recursion and Induction: recurrence relations, solutions
of recurrence relations using techniques of characteristic equation, generating functions, master
method and substitution method.Complexity calculation of various standard functions, principles
of designing algorithms.
UNIT-II Asymptotic notations of analysis of algorithms, analyzing control structures, worst case
and average case analysis, amortized analysis, application of amortized analysis, Sorting
networks, comparison networks, bio-tonic sorting network, advanced data structures like
Fibonacci heap, disjoint set representation UNIT-III Divide and conquer basic strategy, binary
search, quick sort, merge sort, matrix operations, Multiplication Algorithm Greedy method –
basic strategy, Knapsack Problem, application to job sequencing with deadlines problem,
minimum cost spanning trees, single source shortest path, Optimal Search Patterns.
UNIT-IV Dynamic Programming basic strategy, multistage graphs, all pairs shortest path, single
source shortest paths, optimal binary search trees, traveling salesman problem, Longest Common
Subsequence problem, 0/1 Knapsack Problem, Chained Matrix Multiplication
UNIT-V Basic Traversal and Search Techniques, breadth first search and depth first search,
connected components. Backtracking basic strategy, 8-Queen’s problem, graph coloring,
Hamiltonian cycles etc, Introduction to Approximation algorithm. UNIT-VI NP-hard and NP-
complete problems, basic concepts, non-deterministic algorithms, NP-hard and NP-complete,
decision and optimization problems, graph based problems on NP Principle
COUURSE OUTCOMES
SNO DESCRIPTION BLOOM’S
TAXONOMY
LEVEL
CO.1 Examine the correctness of algorithms using inductive
4
proofs and design the solutions to recursive relations.
CO.2 Explain Asymptotic Analysis and elaborate the methods of
2,5,6
Amortized Analysis.
CO.3 Explain different algorithm design techniques like Divide
and Conquer & Greedy strategy and make use of algorithms 2,5,3
that employ this paradigm.
CO.4 Determine the Dynamic Programming paradigm and solve
5,6
Dynamic Programming algorithms and simplify them.
CO.5 Design and illustrate the different traversal techniques and
2,3,6
build different graph computations.
CO.6 Explain Polynomial and Non polynomial time complexities
and elaborate the deterministic and non deterministic 2,5,6
algorithms.
CONTENTS
B
5 10
Source Destination
A D
10
2
C
Hence, in Divide and Conquer (DAC) the size of the input is reduced so as to
reduce the size of a problem.
p1 p2
P
p3 p4
DYNAMIC PROGRAMMING ALGORITHMS
Dynamic Programming operates on principle of Optimality
Shortest Path
A B
Optimal Path
Assume that the path between A & B is optimal. In this Path, there is another
path X-Y.
A X Y B
Optimal Path
Since the path between A-B is optimal, therefore path X-Y is also optimal.
DYNAMIC PROGRAMMING ALGORITHMS