I use this repo to practice and study algorithms and data-structures. Here I have some programming challenges I solved while practicing and sometimes implementing basic data-structures that are already provided by Java (or any decent programming language). By no means, this is an intention to reinvent the wheel. I use and recommend using what is provided by Java API instead of creating your own data-structures and algorithms for common problems.
Again, this is all for practicing purposes.
For each data-structure presented below, there are algorithms solving common problems using these data-structures. Whenever I find it convenient or important for myself, I document my understanding on how to solve the problem and my understanding about algorithms presented.
Some fundamental data-structures that may be either implemented or just used to solve some problems.
- Arrays
- Stack
- Queue
- Binary heap
- Binary Search Trees (includes RB BST)
- Graphs