0% acharam este documento útil (0 voto)
72 visualizações23 páginas

Aula04 - Listas Encadeadas (Python)

Enviado por

mateusgula4321
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
72 visualizações23 páginas

Aula04 - Listas Encadeadas (Python)

Enviado por

mateusgula4321
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 23

Algoritmos e Estruturas

de Dados

Listas Encadeadas
Aula 04

Prof. Ivan José dos Reis Filho


Listas encadeada
O que é?
– É um tipo abstrato de dados que apontam para o próximo
elemento da lista;
– Para “ter” uma lista encadeada, basta guardar seu primeiro
elemento, e seu último elemento aponta para uma célula nula;
– Organizar os dados de forma Linear ou Dinâmico.
Como assim Linear?
Existem estruturas de dados em que os elementos
estão em níveis diferentes;

Por exemplo, um árvore binária:


Como assim dinâmico?
Vetores são estruturas que precisam ter seu tamanho
bem definidos (C/C++)!

int num[3];

Lista podem crescer até a memória estourar!


Listas Encadeadas
Porque usar listas encadeadas e não vetores?
Listas Encadeadas
Porque usar listas encadeadas e não vetores ou lista
simples?
Vetor

Ocupa um espaço contíguo na memória

Permite acesso randômico aos elementos

Deve ser dimensionado com um número máximo de
elementos
Listas Encadeadas
Porque usar listas encadeadas e não vetores?
Lista encadeada

Sequência encadeada de elementos, chamados de nós
da lista

Nó da lista é representado por dois campos
– Informação e ponteiro para próximo elemento
Listas Encadeadas em Python

10 7 12 Nenhum

3º Elemento 2º Elemento 1º Elemento


Estrutura do nodo

10

dado proximo_nodo
Estrutura de toda a lista

cabeça

Nenhum
Listas encadeadas
Função que insere elemento no início (1ª chamada)

cabeça
cabeça
# 1) # 2) # 3)
novo_dado novo_dado Nenhum novo_dado Nenhum
novo_nodo novo_nodo novo_nodo
Listas encadeadas
Função que insere elemento no início (2ª chamada)

cabeça cabeça
# 1) # 2) # 3)
novo_dado novo_dado 10 Nenhum novo_dado 10 Nenhum

novo_nodo novo_nodo novo_nodo


Listas encadeadas
Simulação #01

cabeça cabeça cabeça

Nenhum 5 Nenhum
10 5 Nenhum

novo_nodo novo_nodo
Exercício 01
1. Defina a estrutura do nodo
dado proximo_nodo

2. Cria a lista vazia cabeça

Nenhum

3. Crie o método para inserir no começo


cabeça
cabeça
# 1) # 2) # 3)
novo_dado novo_dado Nenhum novo_dado Nenhum
novo_nodo novo_nodo novo_nodo
Listas encadeadas em Python
Função que insere elemento no final/depois
Listas encadeadas em Python
Simulação #02
Listas encadeadas em Python
Função para buscar um valor
Listas encadeadas em Python
Simulação #03
Listas encadeadas em Python
Função para remover um elemento
Listas encadeadas em Python
Simulação #04
Exercícios
1. Implementar as funções apresentadas na aula e incluir um
Menu para o usuário poder acionar as opções como ele
desejar.

2. Crie uma função para inserir um elemento no final da lista


encadeada.
Exercícios
3. Crie uma função para remover o último elemento da lista

4. Cria uma agenda que guarde os nomes dos contatos (em


ordem alfabética), telefone e e-mail, alterando o programa de
listas encadeadas da aula.

aLista
Abadia Andréia Andria
34-3491-0000 34-3491-9001 34-3491-1000 Null
[email protected] [email protected] [email protected]
Agenda
Próximos assuntos:
– Listas duplamente encadeadas
– Listas circulares

Você também pode gostar