Na informática, uma estrutura de dados é a organização e implementação de valores e informações. Em palavras simples, a estrutura de dados é a forma de organizar os dados de maneira eficiente. As estruturas de dados são diferentes dos tipos de dados abstratos na forma em que são utilizados. As estruturas de dados são as implementações de tipos de dados abstratos em um ambiente concreto e físico. Eles fazem isto usando algoritmos. Isto pode ser visto na relação entre a lista (tipo de dados abstratos) e a lista vinculada (estrutura de dados). Uma lista contém uma seqüência de valores ou bits de informação. Uma lista vinculada também tem um "ponteiro" ou "referência" entre cada nó de informação que aponta para o próximo item e o anterior. Isto permite que se avance ou retroceda na lista. Além disso, as estruturas de dados são freqüentemente otimizadas para certas operações. Encontrar a melhor estrutura de dados quando se resolve um problema é uma parte importante da programação. A estrutura de dados é uma forma sistemática de armazenar dados