Learn a topic, then practice it with hand-picked problems.
Binary search finds an item in a sorted list of 1,000,000 elements in at most 20 comparisons, because every comparison throws away half of the remaining candidates.
2 practice problems