Em diversos contextos, disciplinas associadas à programação recebem a denominação de ``processamento de dados''. Esta denominação não é gratuita -- de fato, embora seja possível criar procedimentos que não manipulem nenhum dado, tais procedimentos seriam de pouco valor prático.
Uma vez que procedimentos são, efetivamente, processadores de dados, a eficiência de um procedimento está muito associada à forma como seus dados são organizados. Estrutura de dados é o ramo da computação que estuda os diversos mecanismos de organização de dados para atender aos diferentes requisitos de processamento.
As estruturas de dados definem a organização, métodos de acesso e opções de processamento para a informação manipulada pelo programa. A definição da organização interna de uma estrutura de dados é tarefa do projetista da estrutura, que define também qual a API2.1 para a estrutura, ou seja, qual o conjunto de procedimentos que podem ser usados para manipular os dados na estrutura. É esta API que determina a visão funcional da estrutura de dados, que é a única informação relevante para um programador que vá utilizar uma estrutura de dados pré-definida.
Neste capítulo são apresentadas algumas estruturas de dados, com ênfase naquelas que são utilizadas posteriormente no decorrer do texto. Assim, algumas estruturas de importância para outros tipos de aplicações -- como a representação de matrizes esparsas, fundamental para a área de computação científica -- não estão descritas aqui.