An open API service indexing awesome lists of open source software.

https://github.com/vishwathma2004/dsa_in_java

Master Java & DSA 🚀 | Explore OOP Concepts, Sorting & Searching, Stacks & Queues, Linked Lists, Binary Search, and Leetcode Challenges. Perfect for interview prep & competitive programming! ⭐
https://github.com/vishwathma2004/dsa_in_java

dsa dsa-mastery dsa-practice java leetcode-java leetcode-solutions

Last synced: 9 months ago
JSON representation

Master Java & DSA 🚀 | Explore OOP Concepts, Sorting & Searching, Stacks & Queues, Linked Lists, Binary Search, and Leetcode Challenges. Perfect for interview prep & competitive programming! ⭐

Awesome Lists containing this project

README

          

# 🚀 Java & DSA Mastery Repository

Welcome to the **Java & Data Structures & Algorithms (DSA) Mastery Repository**! 🎯 This repository is a curated collection of concepts, implementations, and problem-solving approaches in **Object-Oriented Programming (OOP) and DSA using Java**. Whether you're a beginner or an experienced developer, you'll find something valuable here! 🔥

## 📂 Folder Structure

### 🔷 OOPS (Object-Oriented Programming in Java)
Master the four pillars of OOP: **Abstraction, Encapsulation, Inheritance, and Polymorphism**.

📌 **Key Topics:**
- **Abstraction/** - Implementing abstract classes and interfaces.
- **Encapsulation/** - Data hiding and access modifiers.
- **Inheritance/** - Understanding parent-child relationships.
- **Polymorphism/** - Method overloading and overriding.
- **Singleton/** - Implementing the Singleton design pattern.
- **Wrapper.java** - Exploring wrapper classes in Java.
- **Garbage.java** - Memory management and garbage collection.
- **Generics/** - Type safety and reusability.
- **ExceptionHandling/** - Handling runtime errors effectively.
- **Access/** - Understanding access specifiers.
- **Contructor.java & Contructor.class** - Understanding constructors and their usage.

---

### 🔷 DSA (Data Structures & Algorithms in Java)
**Master problem-solving techniques and optimize your code with efficient algorithms!**

📌 **Key Topics:**
- **Sorting & Searching:** Binary Search, Selection Sort, Bubble Sort, and more!
- **StackAndQueues/** - Implementation of stacks & queues from scratch.
- `CustomStack.java` - Implementation of stack.
- `CustomQueue.java` - Implementation of queue.
- `DynamicStack.java` - Stack with dynamic memory allocation.
- `InBuildExamples.java` - Built-in Java stack & queue examples.
- `StackException.java` - Custom exception handling in stacks.
- **Binary Search Variants:**
- `BinarySearch.java` - Standard binary search implementation.
- `OrderAgnosticBinarySearch.java` - Works on both sorted (ascending/descending) arrays.
- `RotatedBinarySearch.java` - Searching in rotated sorted arrays.
- **2D Arrays & Matrices:**
- `SearchIn2DArray.java` - Searching in a matrix.
- `RowColMatrix.java` - Matrix traversal techniques.
- `SortedMatrix.java` - Searching in a sorted matrix.
- **Mathematical & Logical Problems:**
- `EvenDigits.java` - Finding numbers with even digits.
- `FindMin.java` - Finding the minimum number in an array.
- `FindPeakInMountain.java` - Finding peak elements in mountain arrays.
- **Linked Lists:** Implementation of singly, doubly, and circular linked lists.

---

### 🔷 Leetcode Challenges & Competitive Programming
🚀 **Boost your coding skills with real-world problem-solving!**
- Solutions to popular Leetcode problems categorized by topic.
- Efficient approaches with code optimization.

---

## 🚀 Why Should You Use This Repository?
✅ **Well-structured Code:** Organized and modularized for easy understanding.
✅ **Real-world Implementations:** Practical examples of OOP and DSA concepts.
✅ **Beginner to Advanced:** Covers everything from basic to advanced topics.
✅ **Interview Preparation:** Great resource for coding interviews and competitive programming.

---

## 📌 How to Use
1. Clone this repository:
```sh
git clone https://github.com/Vishwathma2004/DSA_IN_JAVA.git
```
2. Navigate to the desired section and start exploring.
3. Run Java files using:
```sh
javac FileName.java
java FileName
```

---

## ⭐ Contribute & Support
Feel free to contribute by adding more solutions, improving existing ones, or fixing any issues. Fork this repo, make your changes, and submit a PR! 😊

If you find this repository helpful, **give it a ⭐!**

🔗 **Follow me on GitHub for more awesome content!**

🚀 **Happy Coding!** 🎯