




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Subject: DAA Introduction to fundamental techniques for designing and analyzing algorithms, including asymptotic analysis; divide-and-conquer algorithms and disjoint set operations; graph algorithms; backtracking algorithms; greedy algorithms; dynamic programming; and branch and bound algorithms; NP-Hard and NP-Complete problems.
Typology: Slides
1 / 131
This page cannot be seen from the preview
Don't miss anything!





























































































analyzing algorithms, including asymptotic analysis; divide-and-
conquer algorithms and disjoint set operations; graph
algorithms; backtracking algorithms; greedy algorithms;
dynamic programming; and branch and bound algorithms; NP-
Hard and NP-Complete problems.
algorithms realistic problems, such as divide and conquer,
greedy and etc.
design methods and estimate the performance of algorithm.
UNIT – I
INTRODUCTION: Algorithm, Performance Analysis-Space complexity,
Time complexity, Asymptotic Notations- Big oh notation, Omega
notation, Theta notation and Little oh notation. Divide and conquer:
General method, applications-Binary search, Quick sort, Merge sort,
Stassen's matrix multiplication.
UNIT – II
Disjoint Sets: Disjoint set operations, union and find algorithms
Backtracking: General method, applications, n-queen’s problem, sum of
subsets problem, graph coloring, Hamiltonian cycles.
SYLLABUS
UNIT - V
Branch and Bound: General method, applications -
Travelling sales person problem, 0/1 knapsack problem - LC
Branch and Bound solution, FIFO Branch and Bound solution.
NP-Hard and NP-Complete problems: Basic concepts, non
deterministic algorithms, NP - Hard and NP-Complete classes,
Cook’s theorem.
TEXT BOOKS
Satraj Sahni and Rajasekharan,
rd Edition University Press.
REFERENCES
Pearson education.
C.E Leiserson, R.L.Rivest and C. Stien, PHI Pvt.
Ltd./Pearson Education.
Examples, M.T. Goodrich and R. Tamassia, John Wiley
and sons.
An Algorithm is any well-defined computational
procedure that takes some value or set of values
as Input and produces a set of values or some
value as output.
Thus, algorithm is a sequence of computational
steps that transforms the input into the output.
Analysis: predict the cost of an algorithm in
terms of resources and performance
Design: design algorithms which minimize the
cost
Algorithm can be described in three ways.
Algorithm Specification:
An algorithm is a set of steps of operations to solve a problem
performing calculation, data processing, and automated
reasoning tasks.
An algorithm is an efficient method that can be expressed
within finite amount of Time and space.
The important aspects of algorithm design include creating an
efficient algorithm to solve a problem in an efficient way using
minimum time and space.
To solve a problem, different approaches can be followed.
Some of them can be efficient with respect to time
consumption, whereas other approaches may be memory
efficient.
Algorithm Program
programming language
Domain knowledge