Welcome to the DSA Repository, where I will be uploading solutions, explanations, and implementations of various Data Structures and Algorithms (DSA) topics.
Before Proceding ahead check 👇
If you want detailed explanations, step-by-step roadmaps, and Java-focused DSA breakdowns, check out my Medium stories:
👉 Medium Profile: https://medium.com/@deepayanth
- 📌 Introduction
- 🗂️ Repository Structure
- 📚 Topics Covered
- 🛠️ How to Use This Repository
- 📖 Resources
- 🤝 Contributing
This repository is dedicated to practicing and mastering Data Structures and Algorithms using Java.
The code is written with a learning-first mindset, prioritizing readability, correctness, and conceptual understanding.
This repo is ideal for:
- DSA beginners using Java
- Revision before interviews
- Practicing core algorithmic patterns
DSA-JAVA/
├── .idea/
│ ├── .gitignore
│ ├── misc.xml
│ ├── modules.xml
│ └── vcs.xml
│
├── Arrays/
│ ├── leftRotateArrayElements.java
│ └── rotatedArray.java
│
├── CollectionPractice/
│ └── HashmapsPractice/
│ ├── HM1.java
│ ├── IsomericStringsProblem.java
│ ├── MaxFreqElement1.java
│ ├── MaxFreqSollution.java
│ └── ValidAnagramProblem.java
│
├── Linked List/
│ ├── LL.java
│ ├── LL1.java
│ ├── LLCollections.java
│ └── Main.java
│
├── Practice/
│ └── Sorting/
│ ├── ArrayRotateLeft.java
│ └── BubbleSort.java
│
├── Recursion/
│ ├── PracticeRecursion/
│ │ ├── displayReverse.java
│ │ ├── factorialOfNumber.java
│ │ ├── fibonachiTillNNumbers.java
│ │ ├── printTillNNumbers.java
│ │ └── RecursiveSum.java
│ │
│ ├── RecursionPart1/
│ │ └── recursionForwardNumber.java
│ │
│ ├── factorialOfN.java
│ ├── fibNumbers.java
│ ├── Permutation.java
│ ├── printNum.java
│ ├── printNumbers.java
│ ├── recursionForwardNumbers.java
│ └── sumNNaturalNumbers.java
│
├── Recursion_Test/
│ ├── factOfN.java
│ └── sumOfDigits.java
│
├── Sorting/
│ ├── bubbleSort.java
│ ├── insertionSort.java
│ └── selectionSort.java
│
├── out/
│ └── production/
│ └── DSA-JAVA/
│ └── Compiled `.class` files (IDE generated)
│
├── Arrays in java.docx
├── .gitignore
├── DSA-JAVA.iml
└── README.md
⚠️ Note: Theout/directory contains compiled.classfiles generated by the IDE and is not intended for manual modification.
- Left rotation of arrays
- Rotated array problems
- Basic array manipulation techniques
- Custom singly linked list implementation
- Node creation and traversal
- Linked list operations
- Java Collections-based LinkedList usage
- Printing numbers recursively
- Factorial calculation
- Fibonacci series
- Sum of digits
- Sum of N natural numbers
- Permutations
- Forward and reverse recursion patterns
- HashMap fundamentals
- Frequency counting problems
- Maximum frequency element logic
- Bubble Sort
- Selection Sort
- Insertion Sort
- Sorting-based array operations
-
Clone the repository:
git clone https://github.com/your-username/DSA-JAVA.git
-
Open the project in IntelliJ IDEA or Eclipse
-
Navigate topic-wise folders
-
Run individual
.javafiles -
Modify and experiment to deepen understanding
Each file is written to be:
- Beginner-friendly
- Logically structured
- Easy to debug and extend
- Java Official Documentation
- GeeksforGeeks
- LeetCode
- Medium (DSA-focused articles)
This is primarily a personal learning repository, but contributions are welcome.
To contribute:
1. Fork the repository
2. Create a new branch
3. Add improvements or optimizations
4. Submit a pull request with clear explanations
⭐ If this repository helps you, consider giving it a star — it genuinely helps with motivation and consistency.
