Skip to content

Contains all materials needed to learn Data Structures and Algorithms (DSA) in Java, including detailed explanations, code implementations, problem-solving techniques, time and space complexity analysis, and practice problems from beginner to advanced levels.

Notifications You must be signed in to change notification settings

HariomSinghalPuri/DSA_in_Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Java Data Structures & Algorithms (DSA) – Work in Progress

Welcome to my ongoing journey of mastering Data Structures and Algorithms with Java!
This repository is a comprehensive and methodically organized collection of source codes, demo files, notes, and revision documents as I prepare for interviews and deepen my understanding of Java's core concepts.

📂 Repository Structure

DSA/
└── src/
├── Basics_Of_Java/
│ ├── Rev_01_... # Java revision notes/files
│ └── OOP/
│ ├── Abstraction
│ ├── BasicOOP
│ ├── Equals
│ └── Inheritance
│
├── Core_Interfaces/
│ ├── List/
│ │ ├── ArrayList/
│ │ ├── LinkedList/
│ │ ├── Vector/
│ │ ├── List_Demo.java
│ │ └── Read-Me-List.txt
│ ├── Map/
│ │ ├── ConcurrentMap/
│ │ ├── EnumMap/
│ │ ├── HashMap/
│ │ ├── SortedMap/
│ │ ├── Map_Demo.java
│ │ └── Read-Me-Map.txt
│ ├── Queue/
│ │ ├── BlockingQueue/
│ │ ├── Deque/
│ │ ├── PriorityQueue/
│ │ ├── Queue_Demo.java
│ │ └── Read-Me-Queue.txt
│ └── Set/
│ ├── CopyOnWriteArraySet/
│ ├── EnumSet/
│ ├── HashSet/
│ ├── SortedSet/
│ ├── Set_Demo.java
│ └── Read-Me-Set.txt
│
├── DSA_Level_1/
│ ├── A_Getting_Started/
│ ├── B_Pattern/
│ ├── C_Arrays/
│ │ ├── A_Arrays_and_Matrix_Operation/
│ │ ├── B_Number_Base_Conversion/
│ │ ├── C_String_Operation/
│ │ ├── D_Searching_and_Sorting/
│ │ ├── D_Subarrays_and_Subsets/
│ │ └── E_Miscellaneous/
│ ├── D_Searching_and_Sorting/
│ ├── E_Recursion/
│ └── ... (More coming soon!)
│
└── File_Handling/
├── T1_CreatingTXTFile/
├── T2_WritinginFile/
├── T3_ReadingFile/
└── T4_DeletingFile/

This is an evolving structure. More directories and files will be added regularly.

📝 What’s Inside?

1. Basics Of Java

  • Java refresher codes & notes.
  • Core OOP topics: Abstraction, Inheritance, Equals, etc.

2. Core Interfaces

  • Deep dive into Java Collections: List, Map, Set, Queue, and their thread-safe/advanced variants.
  • Each collection interface includes demos, implementation examples, and Read-Me guides for clarity.

3. DSA Level 1

  • Getting Started, Patterns: Foundation blocks for DSA.
  • Arrays & Matrices (including operations, conversion, string handling).
  • Sorting, Searching & Recursion: Basics to advanced topics with categorized implementations.

4. File Handling

  • Practical programs showing how to create, write, read, and delete files in Java.

⭐ Features

  • 📘 Well-organized directories for quick navigation.
  • 💡 Clean and straightforward code samples.
  • 📚 Detailed ReadMe files under each concept.
  • 🏃‍♂️ Demos for hands-on practitioners.
  • 🆕 Repository actively updated – stay tuned for more!

👨‍💻 Why this Repository?

  • Consolidate all important Java/DSA concepts and code in one place.
  • Revision and preparation for technical interviews.
  • Reference for future self and others learning Java from scratch or preparing for DSA rounds.

🙏 Contributions

Currently, this is my personal learning repository (WIP).
Suggestions, issues, or ideas are always welcome! Please create an issue or reach out.

📅 Roadmap / Upcoming

  • More advanced DSA topics (Graphs, DP, Trees).
  • Add Java 17/21 features and functional programming examples.
  • Add automated JUnit test cases for practice codes.
  • More interviewer notes and problem descriptions.

📢 Disclaimer

This repository is still in progress and will be continuously updated with new concepts, best practices, and optimized code.
Star ⭐ this repo to stay updated!

📬 Contact

Happy Coding!

About

Contains all materials needed to learn Data Structures and Algorithms (DSA) in Java, including detailed explanations, code implementations, problem-solving techniques, time and space complexity analysis, and practice problems from beginner to advanced levels.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages