Algorithms and Data Structures in Java

The repo consists of solutions to numerous problems using different data structures and algorithms, all coded in Java. It also contains solutions to HackerRank problems which I have solved so far and questions from Cracking the Coding Interview Book (6th Edition).

You can also refer to my Java Notes for a quick refresh on the Java concepts.


  1. Basic Practice:
    1. Arrays
    2. Backtracking
    3. Bits
    4. Blockchain Demo
    5. Dynamic Programming
    6. Graphs
    7. Java 8
    8. Linked Lists
    9. Miscellaneous
    10. Permutations
    11. Searching
    12. Sorting
    13. Stacks
    14. Strings
    15. Threads
    16. Trees
  2. Cracking the Coding Interview:
    1. Arrays and Strings
    2. Linked Lists
    3. Stacks and Queues
    4. Trees and Graphs
    5. Bit Manipulation
    6. Recursion and DP
  3. LeetCode.
  4. HackerRank.


Java Version

Java version 1.8.0_172
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)


IntelliJ IDEA 2018.1.4 (Ultimate Edition)


MacBook Pro
2.5 GHz Intel Core i7
16 GB 1600 MHz DDR3