Escolar Documentos
Profissional Documentos
Cultura Documentos
Estruturas Genéricas
14 de abril de 2022
Estrutura de Dados I 2 / 48
Roteiro
Conceitos Gerais
Objetivos
Listas
Conceitos Gerais
Operações
Estrutura de Dados I 3 / 48
Roteiro
Pilha (Stack)
Conceitos Gerais
Estrutura de Dados I 4 / 48
Roteiro
Fila (Queue)
Conceitos Gerais
I Busca
I Inserção
I Remoção
Estrutura de Dados I 14 / 48
Listas
Operações
Operações: Busca
Operações: Busca
Algoritmo: Busca
Estrutura de Dados I 17 / 48
Listas
Operações
Análise
Análise Assintótica
I Considerando lista de tamanho n
Pior Caso O(n)
Estrutura de Dados I 18 / 48
Listas
Operações
Operações: Inserção
Algoritmo: Inserção
Estrutura de Dados I 20 / 48
Listas
Operações
Análise
Análise Assintótica
I O tempo de execução para List Insert(L, x) inserir um
elemento na lista de tamanho n.
Pior Caso O(1)
I Qual o tempo de execução para uma lista de tamanho n, caso
a inserção fosse no final da lista ?
Estrutura de Dados I 21 / 48
Listas
Operações
Operações: Remoção
Operações: Remoção
I O procedimento List Delete(L) remove um elemento x no
inı́cio da lista
Estrutura de Dados I 23 / 48
Listas
Operações
Análise
Análise Assintótica
I O tempo de execução para List Delete(L, x) remover um
elemento na lista de tamanho n.
Melhor Caso O(1)
Pior Caso O(n)
Estrutura de Dados I 24 / 48
Listas
Operações
Algoritmo: Remoção
Estrutura de Dados I 25 / 48
Estrutura de Dados: Pilha e Fila
Caracterı́sticas Gerais
Operações
Algoritmo
Estrutura de Dados I 29 / 48
Pilha (Stack)
Conceitos Gerais
Comportamento
Estrutura de Dados I 30 / 48
Pilha (Stack)
Conceitos Gerais
Análise
Análise da Complexidade
Aplicações
Operações
Algoritmo
Enqueue(Q,x):
if Q.fim > Q.comprimento then
Estouro da Fila
Q.fim ← 1 “commentário: codigo alternativo”
else
Q[Q.fim] ← x
Q.fim ← Q.fim + 1
end if
Dequeue(Q):
if Q.comprimento == 0 then
Fila Vazia
Q.inicio ← 1 “commentário: codigo alternativo”
else
x ← [Q.inicio]
Q.inicio ← Q.inicio + 1
retorna x
end if
Estrutura de Dados I 35 / 48
Fila (Queue)
Conceitos Gerais
Comportamento
Comportamento
Estrutura de Dados I 37 / 48
Fila (Queue)
Conceitos Gerais
Comportamento
Comportamento
Comportamento
I Dequeue() → Dequeue()
Estrutura de Dados I 40 / 48
Fila (Queue)
Conceitos Gerais
Comportamento
Comportamento
I Fila em vetor circular
I se o último estiver ocupado podemos inserir no inı́cio do vetor,
se esta posição estiver livre
Estrutura de Dados I 42 / 48
Fila (Queue)
Conceitos Gerais
Comportamento
Análise
Análise da Complexidade
Aplicações
Referências I
Referências II
Estruturas Genéricas
14 de abril de 2022