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