Implementation of various algorithms and data structures using c/c++, Python from scratch. This is a learning resource for students and professionals to improve their algorithms and data structure skills. It is also a good resource for coding interviews as questions on these algorithms and data structures are common in these interviews.
Contributions are welcome. Choose an algorithm or data structure, not in the repository and submit a pull request.
This folder contains implementation of the basic data structures such as trees (BST), Linked lists, stack, queue, etc. in C/C++ and Python.
This folder contains popular sorting algorithms and their time complexities.
This folder contains standard algorithms on graphs. here, I've used an adjacency list representation of graphs using dedfaultdict(list) in python.
This folder contains common and popular dynamic programming algorithms such as knapsack, lcs, lis, kadane, etc.
This folder contains backtracking based algorithms such as n-queens, etc.
This folder contains implementations of advanced data structures such as Tries, Segment Trees, etc.
This folder contains miscellaneous algorithms commonly asked in coding interviews. These algorithms also help in competitive coding.