Skip to content

A structured exploration of data structures and algorithms with detailed notes on problem-solving logic, complexity analysis, and design patterns for computational thinking.

License

Notifications You must be signed in to change notification settings

AluminumShark/Algorithmic-Learning-Journal

Repository files navigation

Algorithmic Learning Journal

A structured exploration of data structures and algorithms with detailed notes on problem-solving logic, complexity analysis, and design patterns for computational thinking.

This repository contains solutions to LeetCode problems, organized following the NeetCode Roadmap structure for systematic algorithm learning.


Topics

# Topic Description
01 Arrays and Hashing Array manipulation, hash tables, sorting algorithms
02 Two Pointers Two pointer technique for array/string problems
03 Stack Stack and Queue data structures, monotonic stack
04 Binary Search Binary search algorithm and variations
05 Sliding Window Sliding window technique for substring/subarray problems
06 Linked List Singly and doubly linked list operations
07 Trees Binary trees, BST, tree traversals
08 Tries Prefix trees for string operations
09 Backtracking Recursive backtracking algorithms
10 Heap / Priority Queue Heap data structure and priority queues
11 Graphs Graph traversal (BFS, DFS), basic graph algorithms
12 1D Dynamic Programming One-dimensional dynamic programming
13 Intervals Interval scheduling and merging problems
14 Greedy Greedy algorithm strategies
15 Advanced Graphs Advanced graph algorithms (Dijkstra, Union-Find, etc.)
16 2D Dynamic Programming Two-dimensional dynamic programming
17 Bit Manipulation Bitwise operations and tricks
18 Math and Geometry Mathematical algorithms and geometric problems

Recent Progress

07-Trees

06-Linked-List

05-Sliding-Window

04-Binary-Search

03-Stack

02-Two-Pointers

01-Arrays-and-Hashing

10-Heap-Priority-Queue

18-Math-and-Geometry


Repository Structure

Each problem is organized in its own folder with:

  • solution.py - Solution code with multiple approaches when applicable
  • README.md - Problem description, algorithm explanation, complexity analysis, and key concepts
├── 01-Arrays-and-Hashing/
│   ├── 1. Two Sum/
│   │   ├── solution.py
│   │   └── README.md
│   └── ...
├── 02-Two-Pointers/
│   └── ...
└── ...

How to Use

  1. Follow the Roadmap: Start from 01-Arrays-and-Hashing and progress sequentially
  2. Read the Notes: Each problem folder contains solution code and detailed explanations
  3. Practice: Try solving problems before looking at solutions
  4. Review: Revisit completed topics to reinforce learning

References

Problem Source

  • LeetCode - All problems in this repository are sourced from LeetCode

Learning Resources


Tech Stack

  • Language: Python 3.x
  • Package Manager: uv

License

This project is licensed under the terms specified in the LICENSE file.

About

A structured exploration of data structures and algorithms with detailed notes on problem-solving logic, complexity analysis, and design patterns for computational thinking.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages