Skip to content

Deepayan-Thakur/DSA-JAVA

Repository files navigation

🚀 Data Structures and Algorithms (DSA) Repository

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 👇

🌐 My Medium Articles on DSA

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

DSA Medium Preview


📑 Table of Contents

  • 📌 Introduction
  • 🗂️ Repository Structure
  • 📚 Topics Covered
  • 🛠️ How to Use This Repository
  • 📖 Resources
  • 🤝 Contributing

📌 Introduction

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

🗂️ Repository Structure

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: The out/ directory contains compiled .class files generated by the IDE and is not intended for manual modification.


📚 Topics Covered

📊 Arrays

  • Left rotation of arrays
  • Rotated array problems
  • Basic array manipulation techniques

🔗 Linked Lists

  • Custom singly linked list implementation
  • Node creation and traversal
  • Linked list operations
  • Java Collections-based LinkedList usage

🔁 Recursion

  • Printing numbers recursively
  • Factorial calculation
  • Fibonacci series
  • Sum of digits
  • Sum of N natural numbers
  • Permutations
  • Forward and reverse recursion patterns

🔐 Hashing (Collections Framework)

  • HashMap fundamentals
  • Frequency counting problems
  • Maximum frequency element logic

🔍 Sorting Algorithms

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Sorting-based array operations

🛠️ How to Use This Repository

  1. Clone the repository:

    git clone https://github.com/your-username/DSA-JAVA.git
  2. Open the project in IntelliJ IDEA or Eclipse

  3. Navigate topic-wise folders

  4. Run individual .java files

  5. Modify and experiment to deepen understanding

Each file is written to be:

  • Beginner-friendly
  • Logically structured
  • Easy to debug and extend

📖 Resources

  • Java Official Documentation
  • GeeksforGeeks
  • LeetCode
  • Medium (DSA-focused articles)

🤝 Contributing

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages