Keep a changing collection in order so that searching it, inserting into it and scanning a range of it all stay fast, and recognise the same structure underneath a database index, a file system and a priority queue
Keeping Things in Order

Halving the search, then keeping the halving possible while the data changes. Trees, balance, ranges and the sort that gets you there.
8 lessons, written and corrected before you arrived. Reading them here needs no account. The first reads the whole way through; the others open and then stop, because a page nobody owns cannot tell who is reading it. Starting the course gives you your own copy, where every idea has problems standing under it and you can ask about any sentence.
This is course 3 of 8 in a reading track: tell in advance which approach survives a million rows. The track is an order, not a gate, and the rest of it is on one page.