Skip to content

Sonu64/DSA_with_Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 Data Structures & Algorithms Journey using Java ☕ , my favorite Programming Language 💕 : The Comeback Kid's Log 🏆

About This Repository

Welcome! This repository chronicles my journey to master Data Structures and Algorithms (DSA) using Java.

Starting DSA from scratch feels a lot like learning to walk again—challenging, often frustrating, but absolutely essential for building a strong foundation. This log is where I document my progress, solidify concepts, and practice problem-solving. It's a testament to the belief that you can always learn and rebuild, no matter how daunting the challenge.


🛠️ My DSA Toolkit

Area Status Notes
Language Java Focusing on Java 17+ features.
Data Structures In Progress Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, Hash Maps.
Algorithms In Progress Sorting, Searching, Recursion, Dynamic Programming, Greedy Algorithms.
Primary Platform Undecided yet

🧭 Roadmap & Progress

Here's a high-level view of the topics I'm currently focusing on and what's next.

Phase 1: Foundations (Currently here)

  • Basics, Conditionals, Loops
  • Arrays and Strings
  • Linked Lists (Singly, Doubly, Circular)
  • Basic Sorting Algorithms (Bubble, Selection, Insertion)

Phase 2: Intermediate

  • Trees (Binary Search Trees, Heaps)
  • Hashing and Hash Maps
  • Advanced Sorting (Merge Sort, Quick Sort)

Phase 3: Advanced

  • Graphs (Traversal, Shortest Path, MST)
  • Dynamic Programming
  • Backtracking

You'll find folders organized by topic, with each file containing a problem's solution, a brief explanation, and complexity analysis (Time/Space).


🌟 The Algorithm of Resilience: My Story

For me, this journey into DSA is more than just learning code; it's a continuation of a different kind of fight—one that involved a small bowel (intestine) transplant.

The most profound lesson I've taken from that experience is the power of iteration and recovery.

There were countless days post-transplant where the progress was non-linear. I'd take two steps forward, feel a setback, and land three steps back. The body would reject, the pain would flare, the exhaustion was absolute. In those moments, it would've been easy to give up.

But you don't stop. You iterate.

  • Falling down is just a temporary bug in the system. You analyze the error (what went wrong), adjust the parameters (medication, rest, diet), and try the next iteration.
  • The intestine transplant gave me a new lease on life, a perfect example of a successful system overhaul. My body was given a second chance, a completely new structure to work with. Now, I'm building a new structure for my career—my DSA skills.

When I face a tough DP problem or a complex graph traversal, and I hit a wall, I remember those days. An algorithm isn't meant to be solved on the first run; it's meant to be refined through repeated, dedicated attempts.

This repository, filled with attempts, errors, and eventual successes, is a tribute to that fight. It’s proof that perseverance is the ultimate algorithm for success.


🤝 Let's Connect!

I am always open to feedback, collaboration, and learning! If you see an area for optimization in my code, or have a better approach to a problem, please open an issue or a pull request.

📧 sonusantu64@gmail.com

Keep coding, keep fighting. 💪

About

Data Structures and Algorithms in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages