Estrutura de Dados
Sacolas/Classes Existentes
Paulo de Tarso F. Júnior 1
Prof. Msc. Paulo de Tarso F. Júnior
Saco – Bag
• Estrutura de dados que representa um conjunto de dados.
• Não existem ordem para recuperar/retirar os elementos da sacola.
– Ex.: Saco de compras.
Prof. Msc. Paulo de Tarso F. Júnior 2
Saco – Bag
• Existem duas operações:
– add, que insere uma coisa na coleção.
– iterate, que percorre as coisas da coleção (ou seja, examina as coisas uma a uma).
• A ordem em que o iterador percorre as coisas não é especificada e está fora do controle do cliente.
Prof. Msc. Paulo de Tarso F. Júnior 3
Saco – Bag
• Como de hábito, as coisas de que um saco é feito serão chamadas itens.
• Diferentemente de um conjunto
matemático, os itens de um saco não precisam ser distintos.
Prof. Msc. Paulo de Tarso F. Júnior 4
Prof. Msc. Paulo de Tarso F. Júnior 5
public class Bag<Item> implements Iterable<Item>
Bag() cria um saco de Items vazio
void add(Item item) coloca item neste saco Iterator<Item> iterator() um iterador que percorre
os itens do saco
boolean isEmpty() este saco está vazio?
int size() número de Itens neste saco
Saco – Bag
Prof. Msc. Paulo de Tarso F. Júnior 6
public class Stack<Item>
__________________________________________________________
Stack() construtor: cria uma pilha de Items vazia void push(Item item) insere item nesta pilha Item pop() remove o Item mais
recente desta pilha boolean isEmpty() esta pilha está vazia?
int size() número de Itens nesta pilha
Pilhas – Stacks
Filas – Queue
public class Queue<Item>
Queue() construtor: cria uma fila de Items vazia
void enqueue(Item item) coloca item nesta fila Item dequeue() remove o item mais
antigo desta fila boolean isEmpty() esta fila está vazia?
int size() número de Itens nesta fila
Paulo de Tarso F. Júnior 7
Dúvidas
8 Prof. Msc. Paulo de Tarso F. Júnior
Referências
• GOODRICH, M. T.; TAMASSIA, R. Estruturas de Dados e Algoritmos Em Java. 5ª Edição. Bookman, 2013.
• PUGA, S.; RISSETI, G. Lógica de Programação e
Estruturas de Dados com Aplicações em Java. 2ª Edição.
Prentice Hall, 2012.
• Algoritmos e Estruturas de Dados com Java. Disponível em:
https://www.caelum.com.br/apostila-java-estrutura-dados/.
Acesso em: 16/05/2016.
• Introdução aos tipos de Estrutura de Dados em JAVA.
Disponível em:
http://www.javaprogressivo.net/2012/09/introducao-aos-tipos- de-estrutura-de.html. Acesso em: 22/05/2016.
9 Prof. Msc. Paulo de Tarso F. Júnior