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

Design and Analysis of Algorithms (CS3052)

This document provides an overview of the Design and Analysis of Algorithms course. The course will cover basic algorithm design techniques like divide and conquer, greedy methods, dynamic programming, and backtracking. It will also cover nondeterministic and randomized algorithms. The syllabus includes algorithm complexity analysis and identifying the appropriate design technique to solve problems. Students will be evaluated based on exams, assignments, an online course, animation project, and forum participation. The goal is for students to learn how to systematically design algorithms and analyze their performance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views17 pages

Design and Analysis of Algorithms (CS3052)

This document provides an overview of the Design and Analysis of Algorithms course. The course will cover basic algorithm design techniques like divide and conquer, greedy methods, dynamic programming, and backtracking. It will also cover nondeterministic and randomized algorithms. The syllabus includes algorithm complexity analysis and identifying the appropriate design technique to solve problems. Students will be evaluated based on exams, assignments, an online course, animation project, and forum participation. The goal is for students to learn how to systematically design algorithms and analyze their performance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Design and Analysis of

Algorithms (CS3052)
Prof. G. G. Shingan
Computer science and Engineering
Department
RIT, Rajaramnagar.
Lecture No.1
Outline
• Course Outcomes
• Syllabus
• Books
• Evaluation Scheme
• Introduction to Design and Analysis of Algorithms
Course Description
• The Design and Analysis of Algorithm is concerned
with solving problems by designing a solution in terms
of algorithm and also analyzing performance to check
the efficiency of an algorithm. This course provides an
overview of different algorithm strategies like DAC,
Greedy Method, Dynamic Programming and Branch
Bound. In spite of this, it also covers the
nondeterministic algorithm and limitations of
computer algorithms and how it can be solved using
randomized algorithms and proving NP-Completeness.
Course Outcomes
After successful completion of the course, students will
be able to:
• Study basic algorithmic strategies
• Analyze the performance or complexity of algorithms
• Identify appropriate algorithm design techniques for
solving problems
• Design an algorithm to solve problem in systematic
way
• Explain non-deterministic and randomized algorithms
Syllabus
Syllabus
Evaluation Scheme
• ESE– 50%
• UT-1 – 15%
• UT-2 – 15%
• ISE– 20%
▫ Moodle Forum 2%
▫ Swayam Online Course– 3%
▫ Animation– 15%
9

What is Algorithm?
• Definition
An algorithm is a finite set of instructions that accomplishes a
particular task.
• Criteria
▫ input
▫ output
▫ definiteness: clear and unambiguous
▫ finiteness: terminate after a finite number of steps
▫ effectiveness: instruction is basic enough to be carried out
What is Algorithm?

• An algorithm is a sequence of unambiguous


instructions for solving a problem, i.e., for obtaining
a required output for any legitimate input in a finite
amount of time.
NOTION OF ALGORITHM
problem

algorithm

input “computer” output

Algorithmic solution
Which Algorithm should use?
Algorithm 1 0(n2) Selection Sort

0(n2)
Insertion Sort

Algorithm 2
Problem 0(nlogn) Merge Sort
p Sorting
Radix Sort
Algorithm 3
0(nlogn) Quick Sort
.
.
. Heap Sort
0(nlogn)
.

Algorithm n 0(n2) Bubble Sort


L1.13

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
Design Paradigm
• Brute force
• Divide and conquer
• Greedy Approach
• Dynamic Programming
• Backtracking
• Nondeterministic and Randomized algorithms
• Reduction– NP Class Problems

You might also like