This repository contains my Data Structures and Algorithms practice in Java, including implementations of core data structures, algorithmic techniques, and solutions to LeetCode problems.
The goal of this repository is to strengthen problem-solving skills, algorithmic thinking, and interview preparation while maintaining clean and well-structured code.
- Arrays
- Strings
- Linked Lists
- Stacks
- Queues
- Hash Maps / Hash Sets
- Trees
- Graphs
- Heaps / Priority Queues
- Searching Algorithms
- Sorting Algorithms
- Recursion
- Backtracking
- Dynamic Programming
- Greedy Algorithms
- Graph Traversal (DFS / BFS)
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
This repository includes solutions to various LeetCode problems, categorized by topic and difficulty.
Example categories:
- Arrays & Strings
- Linked Lists
- Stacks & Queues
- Trees & Graphs
- Dynamic Programming
- Sliding Window
- Two Pointers
- Binary Search
Each solution focuses on:
- Efficient time complexity
- Clean Java implementation
- Logical approach to solving problems
DSA-Java
│
├── arrays
├── strings
├── linkedlist
├── stack
├── queue
├── trees
├── graphs
├── dynamic-programming
├── recursion
├── OOPs
└── leetcode-solutions
Each folder contains Java implementations and practice problems related to that topic.
Clone the repository:
git clone https://github.com/your-username/your-dsa-repo.git
Open the project in IntelliJ IDEA / VS Code / Eclipse and run the Java files.
- Strengthen core DSA knowledge
- Improve algorithmic problem solving
- Practice Java coding patterns
- Prepare for technical interviews
Leetcode https://leetcode.com/u/SD_Om12/