Documente Academic
Documente Profesional
Documente Cultură
Introduo
Um
das
formas
mais
usadas
para
se
manter
dados
agrupados
a
lista
Lista
de
compras,
itens
de
estoque,
notas
de
alunos,
informaes
de
funcionrios,
etc.
Lista Linear agrupa informaes referentes a um conjunto de elementos que, de alguma forma, se relacionam entre si
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
Outras
operaes:
Determinao
do
nmero
total
de
elementos
da
lista;
Ordenamento
da
lista;
Unio
de
duas
ou
mais
listas;
Par-cionamento
da
lista
e
sub-listas;
etc...
Algoritmos
e
Estrutura
de
Dados
Estrutura
de
Dados:
Listas
2011
Vinicius
Cardoso
Garcia
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
Est-ca Dinmica
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
Alocao
Seqencial
Seqencial:
elementos
da
lista
so
colocados
em
posies
de
memria
consecuPvas
Pontos
Fortes:
Fcil
Endereamento
Aritm-ca
simples
(endereos)
Fcil
insero
e
supresso
de
elementos
no
nal
da
lista
Pontos
Fracos:
Dincil
insero
e
supresso
de
elementos
no
meio
da
lista
Dincil
movimentao
de
elementos
na
lista
Algoritmos
e
Estrutura
de
Dados
Estrutura
de
Dados:
Listas
2011
Vinicius
Cardoso
Garcia
Alocao
Encadeada
Listas
Sequenciais
so
estruturas
de
fcil
acesso
No
entanto,
o
acesso
a
memria
no
-mo
Listas
muito
pequenas
sofrem
de
problemas
de
re-alocao
Listas
muito
grandes
alocam
memria
desnecessariamente
10
Ns
de
uma
Lista
Cada
elemento
da
lista
chamado
de
um
n
da
lista
Um
n
representado
por
uma
estrutura
de
contm
2
campos:
A
informao
Um
endereo
para
o
prximo
elemento
da
lista
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
11
12
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
13
Info 1
Info 2
Info 3
Ns da Lista
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
14
Primeiro
19
12
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
15
Operaes
em
Listas
Criao
Insero
Excluso
Busca
Vericao
de
Lista
Vazia
Liberao
de
Memria
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
16
Criao da Lista
Primeiro
NULL
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
17
Criao
da
Lista
Uma
outra
abordagem
u-lizar
2
endereamentos
Um
para
o
incio
e
outro
para
o
m
da
lista
O
endereo
para
o
m
da
lista
permite
realizar
inseres
sem
que
seja
necessrio
percorrer
toda
a
lista
Inicialmente,
como
a
lista
est
vazia,
ambos
apontam
para
NULL
Algoritmos
e
Estrutura
de
Dados
Estrutura
de
Dados:
Listas
2011
Vinicius
Cardoso
Garcia
18
Insero
na
Lista
Existem
diversos
-pos
de
insero
que
podem
ser
feitas
em
uma
lista
Diferentemente
das
pilhas
e
las,
os
elementos
podem
ser
inseridos
em
qualquer
lugar
da
lista
Exemplos:
Insero
no
incio
Insero
em
uma
posio
n
da
lista
Insero
no
nal
da
lista
Insero
ordenada
na
lista
Algoritmos
e
Estrutura
de
Dados
Estrutura
de
Dados:
Listas
2011
Vinicius
Cardoso
Garcia
19
Primeiro
NULL
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
20
Primeiro
10
NULL
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
21
Primeiro
10
NULL
20
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
22
30
Primeiro
10
NULL
20
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
23
30
Primeiro
10
NULL
20
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
24
novoEl
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
25
Exerccios
1.
Implementar
uma
lista
na
linguagem
de
sua
preferncia,
com
funes
para:
Criar
uma
lista
Inserir
um
elemento
no
incio
da
lista
Inserir
um
elemento
no
m
da
lista
Imprimir
os
elementos
da
lista
na
tela
Vericar
se
a
lista
vazia
Buscar
um
elemento
qualquer
na
lista
Re-rar
um
elemento
qualquer
da
lista
Liberar
a
memria
da
lista
Algoritmos
e
Estrutura
de
Dados
Estrutura
de
Dados:
Listas
2011
Vinicius
Cardoso
Garcia
26
27
28
Primeiro
Info 1
Info 2
Info 3
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
29
Primeiro
Info 1
Info 2
Info 3
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
30
LDE - Exemplo
Primeiro
19
12
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
31
O objeto LDE dever apenas armazenar referncias para estas duas sen-nelas e um contador (size) para a quan-dade de elementos (sem contar os sen-nelas)
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
32
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
33
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
34
Dado um n v de uma LDE (sem ser a cauda), pode-se inserir um novo nodo z imediatamente aps v.
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
35
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
36
Exerccios
1.
Implementar
uma
lista
duplamente
encadeada
na
linguagem
de
sua
preferncia,
com
funes
para:
Criar
uma
lista
Inserir
um
elemento
no
incio
da
lista
Inserir
um
elemento
no
m
da
lista
Imprimir
os
elementos
da
lista
na
tela
Vericar
se
a
lista
vazia
Buscar
um
elemento
qualquer
na
lista
Re-rar
um
elemento
qualquer
da
lista
Liberar
a
memria
da
lista
Algoritmos
e
Estrutura
de
Dados
Estrutura
de
Dados:
Listas
2011
Vinicius
Cardoso
Garcia
37
38
Se
a
estrutura
no
for
ordenada,
o
elemento
dever
ser
inserido
sempre
no
primeiro
lugar.
Ao
remover
um
elemento,
deve-se
estar
atento
para
o
caso
de
a
lista
ter
somente
um
nico
elemento,
pois
a
estrutura
torna-se-
vazia
Algoritmos
e
Estrutura
de
Dados
Estrutura
de
Dados:
Listas
2011
Vinicius
Cardoso
Garcia
39
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
40
41
Sada
Algoritmos e Estrutura de Dados Estrutura de Dados: Listas 2011 Vinicius Cardoso Garcia
42
APvidades
Complementares
Implementar,
com
as
mesmas
funes
bsica:
Lista
Encadeada
Circular
Lista
Duplamente
Encadeada
Circular
Desao:
Implementar
o
jogo
Pato,
Pato,
Ganso
em
Python
Leitura
do
captulo
10
do
livro
do
Cormen
Algoritmos
e
Estrutura
de
Dados
Estrutura
de
Dados:
Listas
2011
Vinicius
Cardoso
Garcia
43