{{{credits}}}
L | T | P | C |
0 | 0 | 4 | 2 |
- To learn advanced tree and graph structures.
- To learn the need for heap and disjoint set representations.
- To understand algorithm design techniques and apply suitable techniques for problems.
- C, Java or Python
- Insertion sort and merge sort with complexity analysis
- Application of binary search trees
- Red-Black Trees
- Min heaps, Fibonacci heaps
- Disjoint sets
- Application of graph traversals – BFS and DFS
- Single source Shortest Path Algorithms (e.g. Dijkstra’s and Bellman Ford algorithms)
- All-pairs Shortest Path Algorithms: (e.g. Floyd’s algorithm)
- Dynamic programming (e.g. Longest common subsequence, 0/1 Knapsack)
- Recursive backtracking (e.g. N-Queen’s problem)
- Greedy technique (e.g. Job/event scheduling, Minimum spanning tree)
- Mini project: For a given application, identify and solve using suitable data structures and design techniques
\hfill Total: 60
After the completion of this course, students will be able to:
- Solve problems using basic data structures and sorting algorithms. (K3)
- Solve problems using tree and graph structures. (K3)
- Analyse algorithm design techniques and develop efficient algorithms (K4)
PO1 | PO2 | PO3 | PO4 | PO5 | PO6 | PO7 | PO8 | PO9 | PO10 | PO11 | ||
K3 | K6 | K6 | K6 | K6 | ||||||||
CO1 | K3 | 3 | 2 | 2 | 2 | |||||||
CO2 | K3 | 3 | 2 | 2 | 2 | |||||||
CO3 | K4 | 3 | 2 | 2 | 2 | |||||||
Score | 9 | 6 | 6 | 6 | ||||||||
Course Mapping | 3 | 2 | 2 | 2 |