These implementations are for learning purpose. The solution should be provided in either C++, Java or Python.
- Contribution Guidelines
- Sample Code
- Advantage of Contributing to the repository
- Order to Follow for Learning
The goal for the repository can be summarised as follows:-
- Learn How to Write Clean Code
- Learn How to Solve Problems with Multiple Approaches
- Learn to Understand Other's Code
- Learn to Review Other's Code
- Learn How to Contribute in Open Source
The Following Order is the most effective to learn Data Structures and Algorithms:-
- Basic
- All Searching Algorithms
- All Sorting Algorithms
- Data Structures
- String
- Array/Vector
- Matrix
- Stack, Queue and Priority Queue
- Linked List
- Binary Tree
- Heap
- Set and Hash Map
- Graph
- Trie
- Advanced Data Structure ( Segment Tree, B+ Tree, etc)
- Standard Template Libarary ( STL - Only Available in C++ )
- Algorithm Techniques
- Bitwise Algorithm
- Dynamic Programming
- Divide and Conquer
- Backtracking
- Greedy Approach
- Advanced Algorithm Techniques