0% found this document useful (0 votes)
20 views

Lecture 2

1) The document discusses key algorithms topics that will be covered in the course including sorting, searching, graph algorithms, and more. 2) It outlines important questions about algorithms including determining if a solution exists, finding better solutions, determining time complexity, and more. 3) The course objectives are to teach algorithm design techniques like divide and conquer, dynamic programming, and greedy algorithms. It also aims to study problems that are believed to not have polynomial-time solutions and develop approximation algorithms for these problems.

Uploaded by

f20201862
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Lecture 2

1) The document discusses key algorithms topics that will be covered in the course including sorting, searching, graph algorithms, and more. 2) It outlines important questions about algorithms including determining if a solution exists, finding better solutions, determining time complexity, and more. 3) The course objectives are to teach algorithm design techniques like divide and conquer, dynamic programming, and greedy algorithms. It also aims to study problems that are believed to not have polynomial-time solutions and develop approximation algorithms for these problems.

Uploaded by

f20201862
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

BITS, PILANI – K. K.

BIRLA GOA CAMPUS

Design & Analysis of Algorithms


(CS F364)

Lecture No. 2

1
Algorithms
• Seen many algorithms
Graph Searching
Sorting Graph Algorithms
- Breadth First Search
- Insertion Sort - Shortest Path
- Depth First Search
- Bubble Sort - Minimum Spanning Tree
- Tree Traversal
- Merge Sort
- Quick Sort
- Heap Sort
- Radix Sort
- Counting Sort

Searching
- Linear Search
- Binary Search
And Many More
Key Questions
Given a problem:
1st Question
Does Solution/Algorithm exist?
Do we know any such problem?
2nd Question
If solution exists, is there alternate better solution?
3rd Question
What is the least time required to solve the problem?
- lower bound results
4th Question
Does there exist algorithm solving the problem taking the least
time?
Key Questions
5th Question
Is the known solution polynomial time?
What about primality?
6th Question
If the known solution is not polynomial time, does/will
there exist a polynomial time solution?
7th Question
Can we prove that no polynomial time solution will
ever exist?
8th Question
If we don’t know a polynomial time solution and
answer to 7th Question is no, then what?
Course Objective 1:
Algorithm Design Techniques
We already know one popular strategy
Divide & Conquer
Consider the Coin Change Problem with coins of
denomination 1, 5, 10 & 25
Solution is Easy
What is the guarantee that solution works!
Introduce two more popular & widely applicable problem
solving strategies:
• Dynamic Programming
• Greedy Algorithms
Key Questions
Course Objective 2:
One of the objectives of this course is to look at
Question 5 to Question 8 in detail for a class of
problems
Understand famous P vs NP problem
We strongly believe that certain important class
of problems will not have polynomial time
solution.
Course Objective - 3
• How to deal with the class of problems for
which we strongly believe that no polynomial
time algorithm will exist?
• This class consists of important practical
problems
Example: Traveling Salesman Problem, 0-1
Knapsack Problem, Bin Packing Problem
And Many more
Course Objective - 3
1st Alternative
Try to get polynomial time solution for an important
particular instance of the problem
2nd Alternative
Backtracking Algorithms
With good heuristics this works well for some important
particular instance of the problem
3rd Alternative
Approximation Algorithms
As name indicates, these algorithms will give approximate
solutions but will be polynomial in time.
Many Other Alternatives
Course Objective - 3
Course Objective – 3
For a certain class of problems to study, develop
and analyze ‘good’ approximation algorithms.
Text Book
• Text Book
Thomas H. Cormen, Charles E. Leiserson,
Ronald L. Rivest & Clifford Stein
Introduction to Algorithms
Third Edition, PHI Learning Private Limited, 2015

You might also like