View on GitHub

advent-of-code-2024

Readable Advent of Code 2024 algorithms and solutions in C language

Day 18: RAM Run

Part A

Let $G=(V,E)$ be a graph. Let $s,t\in V$.

Algorithm:

Time complexity: $O(\lvert V\rvert+\lvert E\rvert)=O(\lvert V\rvert)$ for $\lvert E\rvert=O(\lvert V\rvert)$.

Space complexity: $O(\lvert V\rvert)=O(\lvert V\rvert)$ for $\lvert E\rvert=O(\lvert V\rvert)$.

Part B

Let $G=(V,E)$ be a graph. Let $s,t\in V$.

Let $U\subseteq V\setminus\lbrace s,t\rbrace$.

Let $S$ be a stack where for all $u\in S$, we have $u\in U$.

Algorithm:

Time complexity: $O(\lvert V\rvert+\lvert E\rvert)=O(\lvert V\rvert)$ for $\lvert E\rvert=O(\lvert V\rvert)$.

Space complexity: $O(\lvert V\rvert)=O(\lvert V\rvert)$ for $\lvert E\rvert=O(\lvert V\rvert)$.