Data Structures are the cornerstone of efficient algorithms. They organize data so that it is quickly and usefully accessible. Most mainstream languages come equipped with pre-configured archetypes of all the standard data structures. With the exception of C programmers, it’s highly unlikely that the average coder will every have to implement any data structures from scratch. However, this does not preclude the need for understanding how they work. Knowing the runtime characteristics and supported operations is absolutely requisite to being able to complete common programming tasks.
Choosing the right data structure is all about finding the most efficient implementation that supports all the required operations and nothing more. Superfluous operations typically equate to needless complexity, inflated run times and memory consumption. This is so important that it has a name:
Principal of Parsimony: Choose the simplest data structure that supports all the operations required by your application.
This section should equip aspiring programmers (or act as a reminder to accomplished programmers) with the knowledge required to use data structures effectively.