I created this repo as a way to practice algorithms and data structures. Getting good at solving programming problems and competitive programming has been something I always wanted to do. I do competitive programming not just to prepare for technical interview but to me it's a combination of mathematics and practicality. I started learning concepts like graph and dynamic programming even before I knew about technical interviews.
There are two folders in the repo for data structures and classic problems. Data structures is where I implemented new and advanced data structures in Java.
Most notable data structures I have collected:
- Fenwick Tree
- Segment Tree
- Trie
Classic problems is a folder for well-known problems and the algorithms used to solve them. Most of the algorithms can be found abundantly on the Internet.
Some of the interesting problems so far have been:
- Equal Partitions
- Coin Change
- Graph Coloring
- Kruskal
- Prim
Outside of the two folders, I spent most of my time on solving programming problems on a variety of online judges (Hacker Rank, Hacker Earth, UVA, etc). I also coded a lot of problems on Codeforces, Leetcode and I have separate repos dedicated to them.
My main language of programming is Java but I have been using Cpp recently.
I'll be happy to receive contributions.