Aula 04 – 22/03 Listas Duplamente Encadeada – Listas Encadeada Circular – Lista Duplamente Encadeada Circular.

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Estruturas de Dados Listas Prof. Rodrigo Rocha
Aula T10 – BCC202 Listas – Parte 2 Túlio Toffolo www. decom. ufop
Aula T-09 – BCC202 Listas (Parte 1) Túlio Toffolo www. decom. ufop
Motivação para listas duplamente encadeadas e circulares
Listas Encadeadas CONTEÚDO (1) Motivação (2) Definição (3) Operações
Listas encadeadas Prof. Rosana Palazon.
Listas duplamente encadeadas
TADS – Tipos Abstratos de Dados
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
David Menotti Estruturas de Dados I DECOM – UFOP
Estruturas de Dados e Algoritmos
Listas Ligadas – Conceitos Avançados
AED – Algoritmos e Estruturas de Dados
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Listas com Ponteiros Listas encadeadas Listas circulares.
L Lista Simplesmente Encandeada 001 Jose R$ 1500,00 Prox=BB 002 Carlos R$ 640,00 Prox=CC 003 Marina R$ 900,00 Prox=DD 004 Cicera R$ 420,00 Prox AABBCCDD.
Instrutor: Nilo Menezes
Slides: Prof. João Fabro UTFPR - Curitiba
Robson Godoi / Sandra Siebra
Lista Encadeada Circular Lista Duplamente Encadeada
Robson Godoi / Sandra Siebra
Listas Encadeadas.
Prof.° Jean Daniel Henri Merlin Andreazza Estrutura de Dados
Algoritmos e Estruturas de Dados
Listas Simplesmente Encadeadas
ALGORITMOS E ESTRUTURAS DE DADOS
Aula prática 12 Listas Encadeadas
Prof. Hilton Cardoso Marins Junior LISTA LINEAR
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Listas Encadeadas Raquel O. Prates, Luiz Chaimowicz, Jussara Almeida
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
LISTAS DUPLAMENTE ENCADEADAS
Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Listas duplamente encadeadas Estrutura: tDado = integer; { ou real, char, etc.} tPtNo = ^tNo; tNo = record Ant: tPtNo Dado: tDado; Prox: tPtNo; end; var.
Procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P);
Principais operações em Listas TPA Listas Simples Inserção no Final 1.void insereNofinalDaLista(Lista *l, Elemento e){ 2.Lista paux,p; 3. p.
Implementação de FILAS com Alocação Dinâmica
Lista Encadeada Circular Lista Duplamente Encadeada
Estrutura de Dados Unidade 6 Simulação do exercício 6.1 Elaborada por Mauricio Falvo.
Listas lineares Denise Guliato Faculdade de Computação – UFU
Listas, Filas e Pilhas Katia Guimarães.
Aula 3 Listas, pilhas, filas.
Estruturas de Dados Aula 9: Listas (parte 1)
Ambiente de Execução - Rotinas
Lista encadeada Representar um grupo de dados.
Análise Léxica.
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Listas.
Listas Simplesmente Encadeadas
ESTRUTURA DE DADOS Aula 10 – Listas Duplamente Encadeadas.
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples
Aula 06 – 05/04 Árvores binárias.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Prof. Alessandro Gonçalves
Professor Ulisses Vasconcelos
Prof Ulisses Vasconcelos ESTRUTURA DE DADOS AULA 02 - PILHA Conceito Inserção Remoção.
Exercicios.
Aula Prática 12 Listas Encadeadas Monitoria
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados Estruturas de Dados Dinâmicas IF672 - Algoritmos e Estruturas de Dados.
Estrutura de Dados Aula 3 - Listas
Listas Duplamente Encadeadas Profs Prog2 e Lab2 Unisinos.
INE5408 Estruturas de Dados Listas Encadeadas Simples.
11 Pilhas, Filas e Listas Duplamente Encadeadas Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
Lista Ligada Estrutura de Dados II Prof. Gale. Vantagens  Crescem (ou decrescem) à medida que elementos são inseridos (ou removidos)  seqüência encadeada.
Alocação Dinâmica Dilvan Moreira. Objetivos  Entender o que são e como usar:  Gerenciamento de Memória  Alocação Dinâmica em C.
Transcrição da apresentação:

Aula 04 – 22/03 Listas Duplamente Encadeada – Listas Encadeada Circular – Lista Duplamente Encadeada Circular

Continuação exercício aula 15/03

Lista duplamente encadeadas Lista encadeadas simples são unidirecionais, ou seja, a navegação na lista começa de um ponto, o inicio e vai até o final. Lista duplamente escadeadas são bidirecionais, ou seja, a navegação na lista pode ser feito do início até o fina ou do final até o início. Estrutura muito semelhante a lista encadeada simples porem temos um novo ponteiro no nó que faz referencia ao nó anterior. A estratégia para manipular esse tipo de lista é ter um nó cabeça, primeiro item da lista, e um nó cauda, último item da lista.

O nó em uma lista duplamente encadeada possui dois ponteiros um apontando para o primeiro nó anterior e outro apontando par ó próximo nó, além do campo Dado.

Representação gráfica de uma lista com nós

Representação gráfica de inserção na lista

Representação gráfica de exclusão na lista

Operações em listas duplamente encadeadas Incluir, remover os nós em listas duplamente encadeadas requer mais trabalho pois temos o nó cabeça e o nó cauda para serem atualizados. Percorres a lista, liberar os nós alocados são operações semelhantes as listas simplesmente encadeadas.

Estrutura básica de um nó PApontador = ^TItem; TItem = record Anterior: PApontador; Valor: string; Proximo: PApontador; end;

Incluindo um novo nó New( NoAuxiliar ); NoAuxiliar.Proximo:= LDEPrimeiroNo; NoAuxiliar.Anterior:= nil; NoAuxiliar.Valor:= InputBox( '', 'Digite o nome', '' ); if ( LDEPrimeiroNo <> nil ) and ( LDEPrimeiroNo.Anterior = nil ) then LDEPrimeiroNo.Anterior:= NoAuxiliar; LDEPrimeiroNo:= NoAuxiliar; if ( LDEPrimeiroNo.Proximo = nil ) then LDEUltimoNo:= NoAuxiliar;

Excluindo um nó if ( LDEPrimeiroNo.Valor = ValorASerExcluido ) then begin NoAuxiliar:= LDEPrimeiroNo; LDEPrimeiroNo:= LDEPrimeiroNo.Proximo; if ( LDEPrimeiroNo <> nil ) then LDEPrimeiroNo.Anterior:= nil; if ( NoAuxiliar = LDEUltimoNo ) then LDEUltimoNo:= nil; Dispose( NoAuxiliar ); end else

Excluindo um nó – continuação NoAuxiliar:= LDEPrimeiroNo; while ( NoAuxiliar.Proximo <> nil ) do begin if ( NoAuxiliar.Proximo.Valor = ValorASerExcluido ) then NoAnterior:= NoAuxiliar; NoAserExcluido:= NoAuxiliar.Proximo; NoAnterior.Proximo:= NoAserExcluido.Proximo; if ( NoAserExcluido = LDEUltimoNo ) then LDEUltimoNo:= NoAserExcluido.Anterior else NoAnterior.Proximo.Anterior:= NoAnterior; Dispose( NoAserExcluido ); Exit(); end; NoAuxiliar:= NoAuxiliar.Proximo;

Percorrendo a lista – pelo último elemento NoAuxiliar:= LDEUltimoNo; while ( NoAuxiliar <> nil ) do begin ShowMessage(NoAuxiliar.Valor) ; NoAuxiliar:= NoAuxiliar.Anterior; end;

Observações Para identificar o final de uma lista duplamente encadeada utilizamos o nó cauda que é uma variável especial. E continuamos a utilizar uma variável especial para identificar o primeiro nó. Sempre que efetuarmos operações de inclusão ou exclusão de itens da lista devemos nós certificar que estamos atualizando corretamente o nó anterior e o nó atual do item.

Lista Encadeada Circular Possui a mesma estrutura de uma lista simplesmente encadeada Porem o último item da lista aponta para o primeiro item da lista Passamos a ter o nó atual ao invés do nó cabeça

Listas Duplamente Encadeada Circular Possui a mesma estrutura de uma lista duplamente encadeada. O nó anterior do primeiro elemento aponta para o último O próximo no do último elemento apontar para o primeiro elemento da lista.

Exercícios Download : aula04 – exercícios