This is just a small repo of the implemented algorithms as covered in the Design and Analysis of Algorithms course taught in NIT Kurukshetra.
The algorithms themselves are slight modifications (only wherever needed) from the pseudocode given in Introduction to Algorithms by Cormen, Leiserson, Rivest and Stein, implemented in C++ using the Standard Template Library.
Folder | Assignment |
---|---|
lab1/ | Basic sorting using insertion, selection and bubble sort |
lab2/ | Using mergesort for sorting |
lab3/ | Heapsort |
lab4/ | Building max priority queue using heap |
lab5/ | Binary search tree and some related operations |
lab6/ | Quicksort (both Hoare's and lomuto), count sort, bucket sort, radix sort |
lab7/ | Graph searching using BFS and DFS |
lab8/ | Finding connected components of a graph, and finding MST of graph using Kruskal's and Prim's algorithms |
lab9/ | Topological sorting of graph |
lab10/ | Greedy design technique applied to classroom scheduling and fractional knapsack problems |
lab11/ | Dynamic programming approach for Assembly Line Scheduling, Longest Common Subsequence and Matrix Chain Multiplication problems |