Escolar Documentos
Profissional Documentos
Cultura Documentos
Facilitador
Prof.º Me. Walbert Monteiro
Campus Bragança
Curso Técnico em Desenvolvimento de Sistemas
Disciplina Estrutura de dados
walbert.monteiro@ifpa.edu.br
Apresentar conceitos sobre:
Array
ArrayList
2
Apresentar conceitos sobre:
Listas simplesmente encadeadas
Listas duplamente encadeadas
3
ESTRUTURA DE DADOS
=
ORGANIZAÇÃO DE DADOS
+
OPERAÇÕES PERMITIDAS
4
VETORES E MATRIZES
São estruturas de dados simples e
homogêneas pois permitem o
armazenamento de dados de um único
tipo primitivo.
5
VETORES E MATRIZES
8
PONTEIROS
TAIL
PONTEIRO PONTEIRO PONTEIRO
9
ALOCAÇÃO DINÂMICA DE MEMÓRIA
10
Os tipos primitivos de dados não
servem para tudo.
11
Alguns autores dividem as estrutura de dados segundo as categorias:
ESTRUTURAS DE
ESTRUTURAS DE
DADOS NÃO
DADOS PRIMITIVAS
PRIMITIVAS
12
TIPOS DE ESTRUTURAS DE DADOS
15
ARRAY
É um objeto que contém um número
fixo de valores de um único tipo, após
sua criação.
16
ARRAY - PROBLEMA
17
ARRAY
EXEMPLO
18
Elemento Elemento
Array de
números
inteiros
Fonte: CodeForWin
Índice Índice Índice Índice
19
Elemento Elemento
Array de
números
inteiros
Fonte: CodeForWin
Índice Índice Índice Índice
21
Elemento Elemento
Array de
números
inteiros
Fonte: CodeForWin
Índice Índice Índice Índice
23
Declarando um array:
<tipo_do_array> [] nome_do_array
25
Um elemento do array pode ser acessado utilizando-se o número do
índice.
Array de
números
inteiros Índice
27
Resultado
28
Um elemento do array pode ser acessado utilizando-se o número do
índice.
Array de
números
inteiros Índice
Fonte: CodeForWin
29
Resultado
30
O tamanho de um array pode ser obtido através do comando lenght.
Resultado
comando - nomeDoAray.lenght
31
ARRAY LIST
32
VETORES E MATRIZES
34
● Pode conter elementos duplicados;
● Mantém a ordem da inserção;
● Permite acesso aleatório.
35
Exemplos Genérico de criação de ArrayList
ArrayList <TipoDeDados> = new ArrayList<TipoDeDados> ();
Pacote ArrayList
Criação do ArrayList
36
Pacote ArrayList
Criação do ArrayList
37
Para adicionar elementos em um ArrayList, deve-se utilizar o comando add.
NomeDoArrayList.add();
Resultado
Pacote ArrayList
NomeDoArrayList.get();
39
Resultado
Método get()
40
Para alterar elementos em um ArrayList, deve-se
utilizar o método set() para alterar o respectivo valor.
NomeDoArrayList.set(NumeroDoIndice,“NovoValor”);
41
Resultado
Transversing 42
Para remover elementos em um ArrayList, deve-se
utilizar o método remove() para excluir o valor
desejado, sempre usando o índice para referenciar o
elemento desejado no arraylist.
NomeDoArrayList.remove(NumeroDoIndice);
43
Resultado
Transversing
44
LISTA
SIMPLESMENTE
ENCADEADA
45
É uma estrutura de dados linear, que representa uma sequência de
objetos, todos do mesmo tipo, na memória RAM do computador, onde cada
elemento possui um espaço para armazenamento da informação e um
espaço para armazenar uma referência da localização na memória onde o
próximo elemento da lista se encontra. Nó
HEAD
47
PRINCIPAIS FUNÇÕES
● Inserção de elementos na lista;
● Retirada de elementos da lista;
● Impressão de elementos da lista;
● Busca de elementos da lista;
● Verificar se a lista está vazia;
48
Não é preciso movimentar as células para “abrir espaços”
para uma nova célula. Basta mudar os valores de alguns
ponteiros.
49
Para “remover uma célula”, basta mudar os valores de
alguns ponteiros e eliminar o elemento desejado.
50
PROBLEMA
A lista simplesmente encadeada permite o
acesso aos elementos de uma lista em apenas
uma direção.
51
Questão
Como percorrer a lista na ordem inversa do final
para o início?
52
LISTA
DUPLAMENTE
ENCADEADA
53
Cada elemento tem dois ponteiros, um ponteiro
aponta para o próximo elemento e outro ponteiro para
o elemento anterior.
54
CARACTERÍSTICAS
● Pode ser vazia;
● Poder ter um ou mais nós;
● Sempre um nó terá dois ponteiros;
● É possível caminhar para a direita ou esquerda com igual
facilidade;
● É mais segura que uma lista simplesmente encadeada
devido a existencia de dois ponteiros.
55
PRINCIPAIS FUNÇÕES
● Inserção de elementos na lista;
● Retirada de elementos da lista;
● Impressão de elementos da lista;
● Busca de elementos da lista;
● Verificar se a lista está vazia;
56
Não é preciso movimentar as células para “abrir espaços”
para uma nova célula. Basta mudar os valores de alguns
ponteiros.
58
OBRIGADO
Estrutura de dados
Prof.º Me. Walbert Monteiro
Campus Bragança
Curso Técnico em Desenvolvimento de Sistemas
walbert.monteiro@ifpa.edu.br
59