Welcome to my repository dedicated to mastering Data Structures and Algorithms using Java! This repository serves as a personal log of my problem-solving journey, algorithmic implementations, and conceptual notes.
The project is organized by topic for easy navigation:
Arrays/- Array manipulation, sliding window, two-pointer problems.LinkedList/- Singly, doubly, and circular linked lists.Trees/- Binary Trees, Binary Search Trees (BST), and traversals.Graphs/- BFS, DFS, and shortest path algorithms.Algorithms/- Sorting, searching, and dynamic programming patterns.
To run the code in this repository locally, ensure you have the following installed:
- Java Development Kit (JDK) (Version 17 or higher recommended)
- An IDE like IntelliJ IDEA, Eclipse, or VS Code
- Clone the repository:
git clone https://github.com/avrlx/DSA-Java.git
- Navigate to the specific topic folder:
cd Arrays - Compile and run the Java file:
javac CodeFileName.java java CodeFileName
- Complete the Blind 75 LeetCode challenges.
- Implement all core data structures from scratch.
- Optimize time and space complexities for existing solutions.
| Stage | Topic | Focus Area | Status | Phase |
|---|---|---|---|---|
| 01 | Basics | Variables, Data Types, I/O | 🟢 Completed | 1/1 |
| 02 | If else | Conditionals, Switch | 🟢 Completed | 1/1 |
| 03 | Loops | For, While, Do-While | 🟢 Completed | 1/1 |
| 04 | Pattern printing | Nested loops, Star patterns | 🟢 Completed | 1/1 |
| 05 | Methods | Functions, Parameters, Returns | 🟢 Completed | 1/1 |
| 06 | Array | 1D Arrays, Iteration, Operations | 🟢 Completed | 1/1 |
| 07 | Time space complexity | Big O notation, Space limits | 🟢 Completed | 1/1 |
| 08 | Bubble selection and insertion sort | Elementary Sorting Algorithms | 🟢 Completed | 1/1 |
| 09 | Binary search | Monotonic search spaces | 🟢 Completed | 1/1 |
| 10 | String | Manipulation, StringBuilder | 🟡 In Progress | 0/1 |
| 11 | 2d array | Matrices, Traversals | 🔴 Not Started | 0/1 |
| 12 | Recursion | Base conditions, Call stack | 🔴 Not Started | 0/2 |
| 13 | Merge sort | Divide and Conquer | 🔴 Not Started | 0/1 |
| 14 | Cyclic sort | 1 to N range problems | 🔴 Not Started | 0/1 |
| 15 | Oop | Classes, Objects, Polymorphism | 🔴 Not Started | 0/1 |
| 16 | Linked list | Singly, Doubly, Circular | 🔴 Not Started | 0/2 |
| 17 | Stack | LIFO, Monotonic Stacks | 🔴 Not Started | 0/1 |
| 18 | Queue | FIFO, Deques | 🔴 Not Started | 0/1 |
| 19 | Binary tree | DFS/BFS Traversals, Properties | 🔴 Not Started | 0/2 |
| 20 | Binary search tree | BST operations, Validations | 🔴 Not Started | 0/2 |
| 21 | Heap | Priority Queues, Min/Max Heaps | 🔴 Not Started | 0/2 |
| 22 | Hashmap | Hashing, Maps, Sets | 🔴 Not Started | 0/2 |
| 23 | Bit manipulation | Bitwise operators, XOR, Masks | 🔴 Not Started | 0/1 |
| 24 | Dp (Dynamic Programming) | Memoization, Tabulation | 🔴 Not Started | 0/3 |
| 25 | Binary search on answers | Optimization, Min of Max | 🔴 Not Started | 0/1 |
| 26 | Backtracking | State generation, Permutations | 🔴 Not Started | 0/1 |
| 27 | Graph | BFS, DFS, Shortest Paths | 🔴 Not Started | 0/2 |
Feel free to star ⭐ this repository if you find it helpful!