Objetivos
 Ao concluir esta Disciplina espera-se
que os alunos sejam capazes de:
 Distinguir os conceitos de Estrutura e
Dados;
 Compreender o que são,
como
funcionam e onde são utilizados os
Arrays, Filas, Listas, Pilhas e Árvores.
Definição de Estrutura de Dados
 Uma Estrutura de Dados pode ser definida
como uma forma particular pela qual os
computadores realizam a organização e
manipulação dos dados de forma eficiente.
Definição de Estrutura de Dados
Dado
 Ativo a ser manipulado
Estrutura
 Elemento estrutural que irá
armazenar as informações
Definição de Estrutura de Dados
Dado
Estrutura
 Inteiros(Int)
 Array
 Textos(String)
 Fila
 Caracter(char)
 Pilha
 Ponto flutuante(Double)
 Árvovre
Quem é a estrutura e quem são os
Dados?
A B C D
F G H I
L M N O
E
J
p
Arrays(Vetores)
 “Um array é uma porção de memória fixa e
sequencial dividida em pedaços idênticos
indexados a partir do 0(zero). Em cada
posição do array, podemos guardar um
aluno.”
Arrays
Listas Encadeadas
 As listas ligadas ou encadeadas são conjuntos de
elementos encadeados, onde cada elemento contém
uma ligação com um ou mais elementos da lista.
Listas Lineares
 Sequência de itens x1,x2,...,xn
 xi é de um determinado tipo
 n é o número de elementos da lista
 posição relativa dos itens: xi precede xi+1.
Listas Lineares
 As listas ligadas ou encadeadas são conjuntos de
elementos encadeados, onde cada elemento contém
uma ligação com um ou mais elementos da lista.
 Cada elemento da lista ligada será composto por 2
partes principais: uma parte conterá as informações e a
outra as conexões com outros elementos.
Conteúdo Próx
 Cada elemento é formado por um bloco de dados e um
ponteiro para o próximo elemento.
Listas Lineares
Listas Lineares – adicionando célula
Listas Lineares – Removendo célula
Listas Lineares – Exercícios
 Descreva como seria o processo para a realização de








cada uma das operações.
conjunto de operações sobre os objetos do tipo Lista:
– Criar lista vazia
– Inserir elemento (no fim)
– Inserir elemento (numa posição específica)
– Remover elemento (de uma posição específica)
– Consultar o i-ésimo elemento
– Pesquisar a ocorrência de um item
– Imprimir todos os elementos da lista
Filas
 São listas lineares que adotam a política FIFO (First
In First Out – o primeiro que entra é o primeiro que
sai) para a manipulação de elementos.
 As inserções são feitas no final da fila.
 As remoções são feitas no início da fila.
 A consulta na fila é feita desenfileirando elemento a
elemento até encontrar o elemento desejado ou
chegarao final da fila.
Filas
 “Fila é uma estrutura de dados baseada no
princípio FIFO (first in, first out), na qual os
dados que foram inseridos primeiros na fila
serão os primeiros a serem removidos.”
 Os primeiros serão os primeiros!
Filas - Aplicações
 Alocação de recursos para impressão de documentos
em uma impressora (spooler de impressão).
 Atendimento de processos requisitados ao um sistema
operacional.
 Ordenação do encaminhamento dos pacotes em um
roteador.
 Buffer para gravação de dados em mídia.
Filas - Aplicações
Filas – Operações Básicas
 Criação
 Inserção de um elemento
 Remoção de um elemento
 Verificar se a lista está vazia
 Liberar a lista
Implementação de Fila com Vetor
 Devemos fixar o número máximo de elementos (N).
 O vetor é estático e a fila “se movimenta”, permitindo a
manipulação dos dados nos dois extremos
 Usamos um mecanismo circular (fila circular) para
aproveitar o máximo do vetor.
Filas com listas encadeadas
Filas - Exercícios
 Explique o procedimento para as seguintes atividades
abaixo:
 Cria Fila Vazia;
 Testa se a fila está vazia;
 Testa se a fila está cheia; (quando usar vetores)
 Enfileira;
 Desenfileira.
 Explique como essas operações seriam realizadas com
o uso de vetores.
Pilhas
 É uma das estruturas de dados mais simples
 A idéia fundamental da pilha é que todo o
acesso a seus elementos é feito através do
seu topo.
 Assim, quando um elemento novo é
introduzido na pilha, passa a ser o elemento
do topo, e o único elemento que pode ser
removido da pilha é o do topo.
Pilhas
 “Pilha é uma estrutura de dados baseada no
princípio LIFO (last in, first out), na qual os
dados que foram inseridos primeiros na
pilha serão os últimos a serem removidos.”
 Os últimos serão os primeiros!
Pilhas – Operações básicas
 Existem duas operações básicas que devem
ser implementadas numa pilha:
 operação para empilhar (push) um novo
elemento, inserindo-o no topo
 operação para desempilhar (pop)
elemento, removendo-o do topo.
um
Operações Push e Pop
A
B
C
Pilhas - Exercícios
 Descreva como seriam realizadas as operações abaixo:
 Criar uma estrutura de pilha;
 Inserir um elemento no topo (push);
 Remover o elemento do topo (pop);
 Verificar se a pilha está vazia;
 Liberar a estrutura de pilha;
 Explique como seria implementada uma pilha
utilizando um vetor.
Referências
 http://www.caelum.com.br/apostila-java-estrutura-
dados
Download

Estrutura de Dados