0% found this document useful (0 votes)
44 views2 pages

Design and Analysis of Algorithms: Course Objectives

This document outlines a course on design and analysis of algorithms. The course focuses on algorithm design techniques like divide and conquer, greedy methods, dynamic programming, backtracking, and branch and bound. Students will analyze algorithms' running time using asymptotic analysis. The course contains 5 units that cover topics like elementary data structures, traversal and search techniques, divide and conquer, greedy methods, dynamic programming, backtracking, and branch and bound. The course aims to help students understand how to design algorithms, identify appropriate design strategies, evaluate algorithms' correctness and efficiency, and implement algorithms to solve real problems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views2 pages

Design and Analysis of Algorithms: Course Objectives

This document outlines a course on design and analysis of algorithms. The course focuses on algorithm design techniques like divide and conquer, greedy methods, dynamic programming, backtracking, and branch and bound. Students will analyze algorithms' running time using asymptotic analysis. The course contains 5 units that cover topics like elementary data structures, traversal and search techniques, divide and conquer, greedy methods, dynamic programming, backtracking, and branch and bound. The course aims to help students understand how to design algorithms, identify appropriate design strategies, evaluate algorithms' correctness and efficiency, and implement algorithms to solve real problems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Design and Analysis of Algorithms

Subject Code : 18CSI401 Total Contact Hours : 45


Credits : 03 L-T-P : 3-0-0

Prerequisite: Problem Solving Skills, Data Structures

Course Objectives: This course focuses on understanding of various algorithm design techniques like
Divide and Conquer, Greedy Method, Dynamic Programming, Backtracking and Branch and Bound
with several examples rather than individual algorithms. Students will be emphasized on asymptotic
analysis in measuring algorithms running time. Also enlighten the students to a good program structure
and its correctness.

UNIT: 1 Introduction to Algorithms and Elementary Data Structures 10 hrs

What is an Algorithm? Algorithm Specification, Performance Analysis: Space complexity, Time


complexity. Asymptotic Notations: Big-Oh notation (O), Omega notation (Ω), Theta notation (Θ).
Introduction to Randomized algorithms. Stacks and queues, trees, Dictionaries: Binary search tree,
AVL tree, Cost amortization. Priority queue, sets and disjoint set union, graphs.

UNIT: 2 Basic Traversal, Search Techniques and Divide and Conquer 09 hrs

Techniques for binary trees, techniques for graphs: breadth first search and traversal, depth first search
and traversal, connected components and spanning trees, biconnected components and DFS.

General method of divide and conquer, Binary search, Finding the maximum and minimum, Merge
sort, Quick sort Strassen’s matrix multiplication. Advantages and Disadvantages of divide and
conquer.

UNIT: 3 Greedy Method 08 hrs

General method, Knapsack Problem, Job sequencing with deadlines, minimum cost spanning trees:
Prim's Algorithm, Kruskal's Algorithm. single source shortest paths.

UNIT: 4 Dynamic Programming 09 hrs

General method, Multistage Graphs, Single source shortest paths: Dijkstra's Algorithm, All Pairs
Shortest Paths: Floyd's Algorithm, Optimal Binary Search Trees, Knapsack problem, Bellman-Ford
Algorithm, Travelling Salesperson problem.

UNIT: 5 Backtracking, Branch and Bound 09 hrs

General method of backtracking, N-Queens problem, Sum of subsets problem, Graph coloring,
Hamiltonian cycles, Knapsack problem.

General method of Branch and Bound, 0/1 Knapsack problem: LC Branch and Bound solution, FIFO
Branch and Bound solution, Travelling Salesperson problem, NP-Hard and NP-Complete problems:
Basic concepts.
Text Books:

1. Fundamentals of computer Algorithms, Ellis Horowitz, Satraj Sahni and Rajasekaran, 2nd
Edition, 2007, Silicon Press
2. Introduction to the Design and Analysis of Algorithms, Anany Levitin: 2nd Edition, 2009,
Pearson Education.
Reference Books:

1. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronal L. Rivest, Clifford


Stein, 3rd Edition, PHI
2. Design and Analysis of Algorithms, S. Sridhar, Oxford (Higher Education)

Course Outcomes:

At the end of the course, students will be able to:

CO1: Understand the process of designing and analyzing an algorithm through basic problem types
and asymptotic notations.
CO2: Identify the key characteristics of a given problem, suitable design approach and its impact on
performance.
CO3: Design an algorithm through appropriate design strategy to solve the real time problems.
CO4: Evaluate the correctness of the algorithm through valid and invalid inputs.
CO5: Analyze the space and time efficiency of the algorithm.
CO6: Implement the algorithm using appropriate design strategies for problem solving.

You might also like