Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
29 views

Design and Analysis of Algorithms

The document outlines a course on design and analysis of algorithms that is divided into 4 units, with the first unit covering algorithm design techniques like iterative, divide and conquer, and dynamic programming approaches. The second unit focuses on more advanced sorting and searching algorithms as well as lower bounds. The third unit covers amortized analysis and the fourth unit examines graph algorithms like breadth-first search and depth-first search. The document also provides a list of 11 practical programming problems involving sorting, searching, and graph algorithms.

Uploaded by

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

Design and Analysis of Algorithms

The document outlines a course on design and analysis of algorithms that is divided into 4 units, with the first unit covering algorithm design techniques like iterative, divide and conquer, and dynamic programming approaches. The second unit focuses on more advanced sorting and searching algorithms as well as lower bounds. The third unit covers amortized analysis and the fourth unit examines graph algorithms like breadth-first search and depth-first search. The document also provides a list of 11 practical programming problems involving sorting, searching, and graph algorithms.

Uploaded by

63Preeti kumari
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Design and Analysis of Algorithms (BHCS08)

Unit Topic Reference Total


Hours
1 Algorithm Design Techniques: Iterative
technique: Applications to Sorting and Ch 2 [1]
Searching (review), their correctness and Ch 7 [1] 12
analysis. Divide and Conquer:
Application to Sorting and Searching
(review of binary search), merge sort,
quick sort, their correctness and analysis.

Dynamic Programming: Application to


various problems, their correctness and 6.1 , 6.2, 6.4 [2] 8
analysis.

Greedy Algorithms: Application to 4.1, 4.2, 4.4,


various problems, their correctness and 4.5(excluding 12
analysis. reverse delete
algorithm), 4.6 [2]

2 More on Sorting and Searching: Ch 6 [1] 12


Heapsort, Lower Bounds using decision Ch 8 [1]
trees, sorting in Linear Time - Bucket 9.1, 9.2, 9.3 [1]
Sort, Radix Sort and Count Sort, Medians
& Order Statistics, complexity analysis
and their correctness.

3 Advanced Analysis Technique: 17.1, 17.2, 17.3 [1] 4


Amortized analysis

4 Graphs: Graph Algorithms - Breadth First Ch 3 [2] 12


Search, Depth First Search and its
Applications.

References
1. Cormen, T.H., Leiserson, C.E. Rivest, R.L., & Stein, C.(2015). Introduction to Algorithms.
3rd edition. PHI.
2. Kleinberg, J., & Tardos, E. (2013). Algorithm Design. 1st edition. Pearson Education
India. Additional Resources
Practical List

1. i. Implement Insertion Sort (The program should report the number of comparisons)
ii. Implement Merge Sort (The program should report the number of comparisons)
2. Implement Heap Sort(The program should report the number of comparisons)
3. Implement Randomized Quick sort (The program should report the number of
comparisons)
4. Implement Radix Sort
5. Implement Bucket Sort
6. Implement Randomized Select
7. Implement Breadth-First Search in a graph
8. Implement Depth-First Search in a graph
9. Write a program to determine the minimum spanning tree of a graph using both Prims
and Kruskals algorithm
10. Write a program to solve the weighted interval scheduling problem
11. Write a program to solve the 0-1 knapsack problem

For the algorithms at S.No 1 to 3 test run the algorithm on 100 different inputs of sizes varying
from 30 to 1000. Count the number of comparisons and draw the graph. Compare it with a
graph of nlogn.

You might also like