Skip to content

gpfaucher/dsa

Repository files navigation

Data Structures, Algorithms, and Problem Solving Practice

This repository documents my journey learning Data Structures and Algorithms (DSA) and practicing problem-solving, primarily using platforms like LeetCode. The goal is to build a strong foundation in core computer science concepts and improve programming proficiency across multiple languages.

Purpose

  • Learn & Implement: Understand fundamental Data Structures (Linked Lists, Trees, Hash Tables, etc.) and Algorithms (Sorting, Searching, Graph Traversals, DP, etc.) by implementing them from scratch.
  • Problem Solving: Solve coding challenges from platforms like LeetCode to apply DSA knowledge and develop problem-solving patterns.
  • Multi-Language Exploration: Implement solutions in Python initially, with the intention of revisiting problems and implementing them in other languages (like C++, Java, etc.) to understand language-specific nuances and trade-offs.
  • Personal Reference: Serve as a personal knowledge base and code library for future reference.

Repository Structure

The repository is organized to keep concepts, implementations, and practice problems distinct and easy to navigate, especially with multiple languages in mind.

dsa-multi-language/
├── .gitignore              # Standard gitignore for multiple languages
├── README.md               # This file
│
├── concepts/                 # Language-agnostic theory & notes (optional)
│   ├── big_o.md
│   └── ...
│
├── data_structures/          # Core DS implementations
│   ├── linked_list/
│   │   ├── notes.md          # Concept notes
│   │   ├── python/
│   │   │   └── linked_list.py
│   │   └── cpp/              # Example for C++ later
│   │       └── linked_list.cpp
│   └── ...
│
├── algorithms/               # Core Algorithm implementations
│   ├── sorting/
│   │   ├── notes.md
│   │   ├── python/
│   │   │   └── merge_sort.py
│   │   └── ...
│   └── ...
│
└── practice_problems/        # <<< LeetCode-style problems
    ├── leetcode/
    │   ├── 001_two_sum/      # <<< Directory per problem
    │   │   ├── README.md     # Problem description, examples, constraints
    │   │   ├── python/       # <<< Sub-directory per language
    │   │   │   └── solution.py # Contains Solution class + test block
    │   │   ├── cpp/          # Example for C++ later
    │   │   │   └── solution.cpp
    │   │   └── ...           # Other languages as added
    │   │
    │   └── ... (other LeetCode problems)
    │
    └── hackerrank/           # If using other platforms
        └── ...

About

Collection of materials used practicing and studying DSA.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published