Lecture 1
Lecture 1
Analysis of
Algorithm
Lecture 1: Introduction
Dr. Tauheed
Contents
General information
Course weightage
Course content
Introduction to Algorithm
2
Regarding Course
• Course Assignment and Lab Submissions: Mahindra Euclid
• Keeping the class strength in mind, you are encouraged to contact via email as it may
not be feasible to meet in person most of the time.
• It is mandatory to attend all the exams and submit the assignments on time.
• Missing Minor exams will not be given re-test. If a student misses it due to genuine and
verifiable reason(s), she/he will be given weightage for the missed exam(s) on a pro-rate
basis of performance in the end-sem exam.
• In a supplementary no grade better than grade “D” can be obtained.
Course Outcomes
After successful completion of the course, students will be able to:
4
Course Content
Introduction, Characteristics of algorithms, asymptotic notation: big-oh, theta, big-omega, little-oh and
little-omega, time complexity and space complexity, recurrence relations, ways to Solve Recurrence
Relations: substitution, iterative, recurrence tree, master method, Divide and Conquer: Merge sort, Quick
sort, Selection sort, convex hulls.
Greedy: Greedy choice, optimal substructure property, Job Sequencing with deadline, fractional Knapsack,
Single source shortest path.
Dynamic Programming: Multistage graph, Assembly line Scheduling, Reliability Design, all pair shortest
path, 0-1 Knapsack, Optimal Binary search Tree, Travelling Salesman Problem.
The naive string-matching algorithm, The Rabin-Karp algorithm, Boyer Moore algorithm, The Knuth-
Morris-Pratt algorithm.
6
Text Books
7
Course Weightage
Minor I 20%
Minor II 20%
Graphic No particularity
Implement a
representations regarding syntax
natural language
denoted programming
like English
flowcharts language.
Example 1: Natural language
Correctness
User Robustnes
friendliness s
Scalabilit Maintainabilit
y y
Functionality
Why study DAA ?
Performance has the capability to distinguish between what is feasible and what
is not.
e.g. Real time