Dede
Campus Itabira
Algoritmos e Estrutura de Dados
Capítulo 1
Introdução às Estruturas de Dados
2º Semestre de 2012
Sandro Carvalho Izidoro
1 Considerações Iniciais
A disciplina tem como objetivo introduzir estruturas de dados e seus algoritmos, familiarizando o estudante com as várias estruturas de dados e habilitando-o a utilizar adequadamente esses recursos no desenvolvimento de outras atividades da computação.
Os códigos apresentados como exemplos estão descritos na linguagem C++, apesar deste curso não utilizar as estruturas da programação orientada a objetos.
2 O Papel das Estruturas de Dados
Em várias situações em programação é necessário trabalhar com um conjunto de dados que possuem algo em comum. Estes dados ficam melhor organizados se derivam de uma mesma estrutura.
A estrutura implementada é manipulada por uma série de operações que são primitivas a ela. Por exemplo, uma pilha de pratos é uma estrutura composta por um local onde ficam armazenados os pratos, com destaque para o prato que sempre está disponível para ser utilizado – o topo da pilha de pratos. As operações primitivas que podem ser utilizadas para manipular esta estrutura são:
• A inserção de um prato na pilha, que passará a ser o topo da pilha;
• A remoção de um prato da pilha. Neste caso, para não comprometer a estrutura, o prato que será retirado deve estar no topo da pilha.
Algoritmos e Estrutura de Dados – Capítulo 1 – 2
Para o entendimento do que vem a ser Estrutura de Dados é preciso antes diferenciar
3 conceitos:
• Tipos de dados;
• Estruturas de dados;
• Tipos abstratos de dados.
Embora estes termos sejam parecidos, eles tem significados diferentes. Em linguagens de programação o tipo de dados de uma variável define o conjunto de valores que a variável poderá assumir. Por exemplo, uma variável do tipo boolean pode assumir o valor true ou false.
Uma declaração de variável em uma linguagem como C ou