This project is a showcase of problem-solving skills and consists of various algorithms from different areas, including graphs, sorting algorithms, and binary trees. The algorithms are of different difficulty levels and have been implemented using Java.
- Bubble Sort
- Counting Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Binary Search Tree (BST) Creation
- Preorder Traversal
- Inorder Traversal
- Postorder Traversal
- Level-order Traversal
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- stack problems
- queue problems
- string processing (palindromes, common prefixes, duplicate letter removal)
The algorithms have been implemented using the following:
- Java 17
- Junit 5
- Mockito
- Gradle 7.4
To run the algorithms, you need to have one of the above programming languages installed on your system. Clone the repository to your local machine.
Code reviews to this project are welcome. If you wish to contribute, please add new issue to this project. Happy to discuss any suggestions and implement improvements.
This project is published under CreativeCommons licence. You are welcome to use it as a starting point for your own implementations.