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! π₯
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.
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.
π Boost your coding skills with real-world problem-solving!
- Solutions to popular Leetcode problems categorized by topic.
- Efficient approaches with code optimization.
β
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.
- Clone this repository:
git clone https://github.com/Vishwathma2004/DSA_IN_JAVA.git
- Navigate to the desired section and start exploring.
- Run Java files using:
javac FileName.java java FileName
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! π―