This repository consists templates of some of the commonly used Data structures and Algorithms used in Competitive Programming competitions.
The codes only contains the required functions, or in some places classes/struct, which are required for the given problem. Header files and main functions are avoided unless required for explanantion. Complexity of every function is explained alongside with it.
Some of the programs/implementations have been written by me, others have been modified/copied from some sources or internet. In most of the cases the source has been mentioned too.
The folllowing are the contents of the repository :
This folder contains full implementations of the code, mostly done in data structures course at BITS Pilani. Random test for checking the code and also showing the usage is also present.
It contains templates only and comments explaining the complexity in terms of space and time. These can be used directly in your code when you require them. Just read the commments before so that you know where and how to use them. Since, I mostly code in C++ during competitions, it contains almost all the data structures and algorithms which one may require beside the "Standard template Library" already present in C++.
Till now it contains only Maths related implementations. It is very useful when overflow cases can occur in languages like C, C++.
- Sublime Snippets
For help to sublime users, snippets for the most commonly used templates are also present. Just paste the Snippets folder in your package and snippets will automatically appear using tab triggers in your code.
The code has been written such that no dependencies like typedef, defines etc. are required. So just paste the required templates and use them as per comments mentioned. Usage details
Yes, till date the above implementations have never given wrong results. Also, they have been optimised in terms of space and running complexity through testing on various problems across judges like Codechef, Codeforces, Spoj, Hackerearth, Hackerrank, UVA etc. Are these implementations correct?
* You can even add your implemenatations and get it merged in the repository (as per guidlines). Contributing to repository
If you feel something is not explained properly, you may raise an issue about it.
If you find something wrong in the above templates, raise an issue regarding it.