Skip to content

david-kariuki/Mastering-data-structures-and-algorithms

Repository files navigation



Mastering Data Structures and Algorithms in Java

This project is a long-term personal journey to master data structures and algorithms through consistent practice, implementation, and experimentation. It is inspired by different structured learning programs and research that blend theory with examples and deep explanations.

The goal is to build, visualize, and understand core data structures and algorithms from scratch, while improving Java coding fluency, problem-solving ability, and interview readiness for high-impact software engineering roles.


🧠 Learning Approach

This is a learning-by-building initiative. Every data structure or algorithm is implemented from first principles — no shortcuts or pre-built library methods unless for validation or benchmarking. Topics may include:

  • Detailed code implementation
  • Unit tests for verification
  • Complexity analysis
  • Visual aids or notes in /docs

Tech Stack

  • Language: Java 21
  • Build Tool: Gradle
  • Testing: JUnit 5
  • Documentation: Markdown + UML/PlantUML diagrams

🚀 Long-Term Vision

This repository will evolve into a comprehensive DSA reference for Java developers — a personal knowledge base combining code, diagrams, insights, and test-driven examples that can serve both as a learning record and a technical portfolio.



⚙️ Getting Started

Clone the project

git clone git@github.com:david-kariuki/mastering-data-structures-and-algorithms.git
cd Mastering-data-structures-and-algorithms

Build and run

./gradlew build

Run tests

./gradlew test

Add a new module

In settings.gradle:

include("modules:arrays")

Then create modules/arrays/build.gradle and start coding your first data structure.



About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages