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

Daa Ue18cs280 PDF

This document provides information about the UE18CS280 course on Design and Analysis of Algorithms. The objectives are to learn techniques for designing efficient algorithms in terms of time and space usage, and to prove their correctness. The course outcomes are for students to be able to identify algorithm design techniques, design algorithms, analyze resource usage, and understand algorithm limitations. The course content covers techniques like brute force, divide-and-conquer, dynamic programming, and greedy algorithms. It also addresses limitations of algorithms and complexity theory.

Uploaded by

Pruthvi Putu
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)
68 views2 pages

Daa Ue18cs280 PDF

This document provides information about the UE18CS280 course on Design and Analysis of Algorithms. The objectives are to learn techniques for designing efficient algorithms in terms of time and space usage, and to prove their correctness. The course outcomes are for students to be able to identify algorithm design techniques, design algorithms, analyze resource usage, and understand algorithm limitations. The course content covers techniques like brute force, divide-and-conquer, dynamic programming, and greedy algorithms. It also addresses limitations of algorithms and complexity theory.

Uploaded by

Pruthvi Putu
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

UE18CS280: DESIGN AND ANALYSIS OF ALGORITHMS

Course Objectives:
The objective(s) of this course is to,
 Learn to design and analyze algorithms with an emphasis on the resource utilization
in terms of time and space.
 Learn various techniques in development of algorithms so that the effect of problem
size and architecture design on the efficiency of the algorithm is appreciated.
 Learn to prove the correctness of algorithms.

Course Outcomes:
At the end of the course, the student will be able to:
 Identify the design technique used in an algorithm.
 Design an algorithm for a problem in a known design technique.
 Prove the correctness of an algorithm.
 Analyze the resource utilization of an algorithm in terms of time and space.
 Understand the limits of algorithms and the ways to cope with the limitations.

Course Content:
1. Introduction: Algorithms, Fundamentals of Algorithmic Problem Solving, Important
Problem Types. Analysis of Algorithm Efficiency: Analysis Framework, Asymptotic
Notations and Basic Efficiency Classes, Mathematical Analysis of Non - Recursive and
Recursive Algorithms.
2. Brute Force: Sequential Search, Brute Force String Matching, Selection Sort, Bubble
Sort, Depth-First Search and Breadth-First Search, Exhaustive Search. Divide-and-
Conquer: Merge Sort, Quick Sort, Binary Search, Binary Tree Traversals,
Multiplication of Large Integers, Strassen’s Matrix Multiplication and Master
Theorem.
3. Decrease-and-Conquer: Insertion Sort, Topological Sorting, Algorithms for
Generating Combinatorial Objects, Decrease-by-a-Constant-Factor Algorithms.
Transform-and-Conquer: Presorting, Heap Sort, AVL Trees, Red-Black Trees, 2-3
Trees and B Trees.
4. Space and Time Tradeoffs: Sorting by Counting, Input Enhancement in String
Matching - Horspool’s and Boyer-Moore Algorithms. Dynamic Programming:
Computing a Binomial Coefficient, The Knapsack Problem and Memory Functions,
Warshall’s and Floyd’s Algorithms.
5. Greedy Technique: Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm,
Huffman Trees. Limitations of Algorithm Power: Lower-Bound Arguments, Decision
Trees, P, NP, and NP-Complete Problems. Coping with the Limitations of Algorithm
Power: Backtracking, Branch-and-Bound.

Pre-requisite Courses: Problem Solving with C.

Reference Book(s):
1. “Introduction to the Design and Analysis of Algorithms”, Anany Levitin, 2nd Edition,
Pearson Education, 2011 (Updated Version of the Book).
2. “Introduction to Algorithms”, Thomas H Cormen, Charles E Leiserson, Ronald L
Rivest, Clifford Stein, 3rd Edition, Prentice-Hall India, 2009.
3. “Fundamentals of Computer Algorithms”, Horowitz, Sahni, Rajasekaran, 2/e,
Universities Press, 2007.
4. “Algorithm Design”, Jon Kleinberg, Eva Tardos, Pearson Education, 2006.

You might also like