Week 21 Module

Week 21 of 43
Core DSA
WEEK 21 LEARNING MODULE

Advanced Linked Lists: Doubly Linked Lists & Fast/Slow Pointers

Covers Doubly Linked Lists, in-place list reversal, Floyd's cycle-finding algorithm (Tortoise and Hare), and cycle entry detection.

4 Practice Problems4 Core ConceptsVerified Curriculum: high Confidence

What You'll Learn

  • Master Doubly Linked Lists supporting bidirectional traversal via `prev` and `next` pointers.
  • Reverse singly and doubly linked lists in-place in $O(n)$ time and $O(1)$ auxiliary memory.
  • Implement Floyd's Cycle Detection Algorithm to detect cycles in linked lists.
  • Derive the mathematical proof for finding the exact cycle entry node.
  • Verify palindrome linked lists in $O(n)$ time and $O(1)$ space.

Core Concepts

Doubly Linked List Mechanics

O(1) deletion with node ref

Nodes maintaining both next and previous pointer references for O(1) bidirectional deletions.

In-place Pointer Reversal

O(n) time, O(1) space

Iteratively reversing next pointers using prev, curr, and next_node variables.

Floyd's Cycle-Finding Algorithm

O(n) time, O(1) space

Tortoise and Hare algorithm: slow moves 1 step, fast moves 2 steps; if they meet, a cycle exists.

Cycle Origin Mathematical Derivation

O(n)

Resetting one pointer to head after collision and advancing both by 1 step finds the cycle start.

Algorithms Covered
In-place Linked List ReversalFloyd's Cycle DetectionCycle Entry Point FindingPalindrome Linked List Verification
Data Structures Applied
Singly Linked ListDoubly Linked List

If you fell down yesterday, stand up today.

H. G. Wells

Lecture Materials (1)

Official lecture slide decks hosted on Google Drive
Official Slide Deck3.4 MB

A2SV final __ Linked List Lecture II.pdf

Topic: A2SV final Linked List Lecture II

Format: PDF

Curated Practice Problems (4)

Track problem completions synced across your curriculum