Skip to main content


Site conventions

What do the different problem and exercise label groupings mean?

Problems and exercises in various sections may be grouped together by means of different labels. The labeling convention is modeled after the convention used in [5]. Specifically:

  • Warmups are exercises that every reader should try to do when first reading the material.
  • Basics are exercises to develop facts that are best learned by trying one's own derivation rather than by reading somebody else's.
  • Homework exercises are problems intended to deepen an understanding of the content (e.g., pattern, data structure, algorithm, etc.) under consideration.
  • Exam problems typically involve ideas from two or more distinct content streams simultaneously (e.g., a tip or trick concerning string manipulation may be combined with the sliding window pattern as well as a few other disparate things); these problems may generally be intended for use in take-home exams (i.e., not for in-class exams under time pressure).
  • Bonus problems go beyond what an average student is expected to handle while preparing for data structure and algorithms interviews; they extend things in interesting ways.
  • Research problems may or may not be humanly solvable, but the ones presented here seem to be worth a try (without time pressure).