TRT
Sign in

Advanced · Module 20 · Lesson 5 of 5

Choosing an ordered structure

Sorted arrays, heaps, balanced trees, skip lists and B-trees all keep data in order, with very different costs. The right choice follows from which operations you need, how often the data changes, and what your language provides.

Pro — members onlyAbout 14 minutes

By the end you can

  • Match a workload's operations to the cheapest structure that supports them
  • Use ordered sets for sliding-window queries, and know the Python, Java and C++ options
  • Recognize when a heap, a sorted array or a hash map is enough instead of a tree

Builds on B-trees and pages, The heap property in an array.

01 · A question first

A trading system needs the current highest bid, a leaderboard needs a player's rank, a scheduler needs the next deadline, and a log viewer needs every event between two timestamps. Each could use a balanced tree, but for some of them a tree is the slowest reasonable choice. How do you tell which is which?

Make a guess before you read on.

02 · The idea

Members only

Unlock the full lesson

This lesson is part of the membership. Join to read it in full, along with every other premium deep dive.

What's inside

  • Start from the operations
  • The candidates
  • Ordered sets in your language
  • Sliding windows with order
  • Combining structures
  • Measure before you commit
  • Pseudocode & Multi-Language Implementations (C++, Java, Python)
  • Complexity Derivation, Edge Cases & Common Mistakes

03 · Practice

Something wrong with this lesson? Report a problem