Tecnologia
Dinâmicas
IF672 - Algoritmos e Estruturas de Dados
CIn - UFPE
Adriana Libório Fernandes Lins
Arthur Cavalcanti Alem
Átila Valgueiro Malta Moreira
Flavio Juvenal da Silva Júnior
Gustavo Cauê Silva Botelho
Matheus Bispo Arrais de Souza
Murilo Raphael de Souza Lira
Rafael Alberto Gomes Pereira Lima
Rafael Brandão Lobo
Rafael Loureiro de Carvalho
Tiago Carneiro Pessoa Canto
Vinicius Miranda Cesar
If672.ufpe@gmail.com
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados
Tipos de Estruturas de Dados
As estruturas de armazenamento de dados podem ser classificadas da seguinte maneira:
• Estruturas estáticas: podem armazenar até uma quantidade fixa de elementos, que deve ser indicada quando ela é criada;
• Estruturas dinâmicas: o tamanho e a capacidade variam de acordo com a demanda, a medida que o programa vai sendo executado. Em geral, são construídas com ponteiros/referências.
Estruturas Estáticas: Arrays
Estruturas que armazenam uma quantidade fixa de elementos do mesmo tipo. O acesso a um elemento é feito a partir do índice do elemento desejado.
A
A[0]
0
1
2
A[3]
...
A[n-1]
3
...
n-1
Arrays não podem armazenar mais elementos do que o seu tamanho, logo, o tamanho deve ser o máximo necessário. Estruturas Estáticas: Arrays
Quando a quantidade de elementos é variável, o uso de arrays pode desperdiçar memória, já que nem todas as suas posições são necessariamente ocupadas.
...
A
0
1
2
Espaço utilizado 3
...
n-1
Espaço desperdiçado Estruturas Dinâmicas: Listas
Estruturas criadas para evitar o desperdício de memória, alocando apenas o espaço necessário para seus dados.
A construção é feita a partir de ponteiros/referências.
Antes da inserção: 5
8
1
4
Após a inserção: 5
8
1
4
3
Listas Encadeadas
Ao contrário de um array, uma lista não pode acessar seus elementos de modo