Intro a estrutura de dados sem indice
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.
. 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 API 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.
A organização de uma estrutura de dados é construída a partir de alguns blocos básicos, presentes na maior parte das linguagens de programação de alto nível. A partir desses blocos elementares (os tipos escalares) e de operadores das linguagens de programação, construções mais complexas podem ser definidas, tais como arranjos e estruturas.
Na resolução de um problema por meio de um programa, a primeira providência é conceber um algoritmo adequado.
A eficiência de um algoritmo qualquer está intimamente relacionada à disposição, na memória, dos dados que são tratados pelo programa. Por exemplo, se freqüentemente enfrentamos o problema de descobrir os números de telefones de nossos conhecidos, é conveniente dispor de uma relação de números, organizada em uma agenda. Se a organização for feita por ordem alfabética, a agenda de fato ajuda. Se, porém, organizássemos nossa agenda pela ordem de altura das pessoas, com