📘 Week 2 - Java mini Projects
This repository contains a collection of mini Java projects built during my second week of learning. These projects are focused on reinforcing core concepts in recursion, backtracking, and sorting, with hands-on problem-solving through both homework and advanced questions.
🔍 Projects Overview 1️⃣ Sorting Visualizer *A command-line simulation of the Bubble Sort algorithm to understand step-by-step sorting mechanics.
~Concepts Covered:
*Bubble Sort logic
*Array manipulation
*Iterative problem-solving
*Console-based visualization for learning
2️⃣ Recursive Math Toolbox *A menu-driven program to perform:
*Factorial calculation
*Fibonacci series generation
*Power computation (a^b)
*GCD (Greatest Common Divisor)
~Concepts Covered:
*Recursion base and recursive cases
*Stack behavior in recursive functions
*Multiple use-case logic in a single recursive framework
3️⃣ Sudoku Solver *A classic backtracking problem where a 9x9 Sudoku board is solved using recursion and constraint-checking.
~Concepts Covered:
*Backtracking strategy
*Safety checks in constraints (row, column, 3x3 grid)
*Efficient traversal and backtrack correction
4️⃣ N-Queens *This project handles backtracking problem such as:
🔹 N-Queens Solver *Solves the N-Queens problem using a recursive board placement strategy ensuring no queens threaten each other.
~Concepts Covered:
*Backtracking template design
*Constraint satisfaction
*Board manipulation and validation
💡 Learning Goals & Outcome *Strengthened core DSA concepts like recursion, backtracking, and sorting.
*Practiced both homework-level and advanced questions to solidify understanding.
*Applied learning to real-world problem formats like Sudoku and N-Queens.
*Wrote modular, structured, and testable code using Java best practices.
📁 How to Run *Compile and run the JavaProjectsRunner.java file.
*Follow the console menu to test each individual mini-project.
*Each project is interactive and allows for custom input where applicable.