YouTube Tools

William Fiset's Data Structures Playlist: study plan and how long it takes

The WilliamFiset playlist is 55 videos and 8.9 hours long. Here's how long it takes at different paces, a week-by-week schedule built from the real videos, and a planner that turns it into your own daily plan.

55 videos · 8.9 hours · WilliamFiset

William Fiset's data structures course explains arrays, linked lists, stacks, queues, priority queues, union-find, binary search trees, hash tables, Fenwick trees, suffix arrays, AVL trees and sparse tables, with animations and Java source code for each.

It's under nine hours and is one of the best visual introductions to how these structures work internally.

Who it's for: CS students and self-taught programmers who want to understand how data structures are implemented, not just how to use them.

How long does it take?

The full playlist is 8.9 hours across 55 videos. Here's roughly how many days that is at different daily watch times and speeds, counting video time only:

Days to finish the playlist by daily watch time and playback speed
Daily timeAt 1xAt 1.5xAt 2x
30 min a day18 days12 days9 days
1 h a day9 days6 days5 days
2 h a day5 days3 days3 days

Make your own schedule

The playlist link is already filled in. Press Plan, set how much time you have each day and your speed, and you'll get a day-by-day schedule with a finish date and a calendar file. It reads the live playlist, so new videos are included.

Week-by-week schedule

A sample plan at 1 hour a day and normal speed, using whole videos so none is split across days. That's 2 weeks in total. For a different pace, start date or speed, use the planner above.

Week 1Videos 1–39 · 6h 20m
  1. Day 1 · 53m

    • 1Data structures introduction2m
    • 2Abstract data types5m
    • 3Introduction to Big-O13m
    • 4Dynamic and Static Arrays12m
    • 5Dynamic Array Code7m
    • 6Linked Lists Introduction15m
  2. Day 2 · 58m

    • 7Doubly Linked List Code10m
    • 8Stack Introduction12m
    • 9Stack Implementation4m
    • 10Stack Code4m
    • 11Queue Introduction6m
    • 12Queue Implementation6m
    • 13Queue Code4m
    • 14Priority Queue Introduction13m
  3. Day 3 · 58m

    • 15Priority Queue Min Heaps and Max Heaps6m
    • 16Priority Queue Inserting Elements10m
    • 17Priority Queue Removing Elements14m
    • 18Priority Queue Code16m
    • 19Union Find Introduction6m
    • 20Union Find Kruskal's Algorithm6m
  4. Day 4 · 58m

    • 21Union Find - Union and Find Operations11m
    • 22Union Find Path Compression7m
    • 23Union Find Code8m
    • 24Binary Search Tree Introduction13m
    • 25Binary Search Tree Insertion6m
    • 26Binary Search Tree Removal14m
  5. Day 5 · 51m

    • 27Binary Search Tree Traversals12m
    • 28Binary Search Tree Code13m
    • 29Hash table hash function17m
    • 30Hash table separate chaining8m
  6. Day 6 · 46m

    • 31Hash table separate chaining source code12m
    • 32Hash table open addressing11m
    • 33Hash table linear probing14m
    • 34Hash table quadratic probing9m
  7. Day 7 · 55m

    • 35Hash table double hashing15m
    • 36Hash Table Open Addressing Removals8m
    • 37Hash table open addressing code15m
    • 38Fenwick Tree range queries14m
    • 39Fenwick Tree point updates5m
Week 2Videos 40–55 · 2h 35m
  1. Day 8 · 55m

    • 40Fenwick Tree construction6m
    • 41Fenwick tree source code6m
    • 42Suffix array introduction3m
    • 43Longest Common Prefix (LCP) array4m
    • 44Suffix array finding unique substrings5m
    • 45Longest common substring problem suffix array12m
    • 46Longest common substring problem suffix array part 27m
    • 47Longest Repeated Substring suffix array5m
    • 48Balanced binary search tree rotations9m
  2. Day 9 · 35m

    • 49AVL tree insertion10m
    • 50AVL tree removals9m
    • 51AVL tree source code17m
  3. Day 10 · 57m

    • 52Indexed Priority Queue (UPDATED) | Data Structures25m
    • 53Indexed Priority Queue | Data Structure | Source Code9m
    • 54Sparse Table Data Structure23m
  4. Day 11 · 7m

    • 55Sparse Table Data Structure | Source Code7m

Tips for finishing

  • Implement each structure yourself in your own language after the source code video.
  • The Fenwick tree and sparse table videos are mostly useful for competitive programming; skip them if you only need interview basics.