Concept
Some operations are expensive occasionally and cheap the rest of the time, like a dynamic array doubling when full. Amortised analysis averages the cost over a sequence, which is the number that matters in practice.
The tutor works through these with you, in conversation and code. A session ends when you have shown them, not when a video does.
A few lines that show Amortised cost doing its job.
import sys
items = []
previous = sys.getsizeof(items)
for i in range(20):
items.append(i)
size = sys.getsizeof(items)
if size != previous:
print(f"grew at length {len(items)}") # only a few times
previous = size
# Each append is O(1) amortised, even though a few copy everything.Assuming amortised O(1) means every call is fast. A single resize can be slow, which matters in latency-sensitive loops; worst case and amortised case answer different questions.
Your roadmap puts these before Amortised cost, unless you already know them.
Once a session shows you understand Amortised cost, it comes back for review. Each review takes a minute and tells the memory model how well you still know it.