Algorithm Design analysis, Slides of Design and Analysis of Algorithms

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

2025/2026

Uploaded on 11/17/2025

sbhavajnya
sbhavajnya 🇮🇳

1 document

1 / 131

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Algorithm Design and Analysis
Lecture 1
III B.TECH I- SEM Course code: C3101
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download Algorithm Design analysis and more Slides Design and Analysis of Algorithms in PDF only on Docsity!

Algorithm Design and Analysis

Lecture 1

III B.TECH I- SEM Course code: C

COURSE OVERVIEW

  • 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.

COURSE OUTCOMES

  • Analyze algorithms and improve the efficiency of algorithm.
  • Apply different designing methods for development of

algorithms realistic problems, such as divide and conquer,

greedy and etc.

  • Understand how the choice of data structures and the algorithm

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

  1. Fundamentals of Computer Algorithms, Ellis Horowitz,

Satraj Sahni and Rajasekharan,

rd Edition University Press.

REFERENCES

  • Design and Analysis of Algorithms, Aho, Ullman and,

Pearson education.

  • Introduction to Algorithms, second edition, T.H. Coremen,

C.E Leiserson, R.L.Rivest and C. Stien, PHI Pvt.

Ltd./Pearson Education.

  • Algorithm Design; Foundations, Analysis and Internet

Examples, M.T. Goodrich and R. Tamassia, John Wiley

and sons.

ALGORITHM

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.

Design and Analysis of Algorithms

Analysis: predict the cost of an algorithm in

terms of resources and performance

Design: design algorithms which minimize the

cost

Areas of study of Algorithm:

How to device or design an algorithm

How to validate an algorithm

How to analysis an algorithm

How to test a program

Algorithm Specification:

Algorithm can be described in three ways.

  1. Natural language like English:
  2. Graphic representation called flowchart:
  3. Pseudo-code Method:

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.

Differences

Algorithm Program

  1. At design phase 1.At Implementation phase
    1. Natural language 2.written in any

programming language

  1. Person should have 3.Programmer

Domain knowledge

  1. Analyze 4.Testing

Example of insertion sort

Example of insertion sort