A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Listas lineares Denise Guliato Faculdade de Computação – UFU

Apresentações semelhantes


Apresentação em tema: "Listas lineares Denise Guliato Faculdade de Computação – UFU"— Transcrição da apresentação:

1 Listas lineares Denise Guliato Faculdade de Computação – UFU
Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura de Dados – Série de Livros Didáticos - Informática - UFRGS

2 Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato
Listas lineares Estudo de listas lineares e das operações básicas sobre elas, considerando as diferentes formas de implementação física Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato

3 Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato
Lista linear Uma Lista Linear (LL) é uma seqüência de nodos Nodos - elementos do mesmo tipo Relação de ordem linear (ou total) Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato

4 Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato
Lista linear a b c d e Segundo nodo Primeiro nodo Último nodo Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato

5 Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato
Estrutura dos nodos Estrutura interna é abstraída Pode ter uma complexidade arbitrária Enfatizado o conjunto de relações existente a b c d d z INFORMAÇÕES Número RG Nome Nasc. Cargo Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato

6 Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato
Definição formal Uma lista linear é uma coleção de n  0 nodos x1, x2, ... , xn, todos do mesmo tipo, cujas propriedades estruturais relevantes envolvem apenas as posições relativas lineares entre nodos: n = 0 : lista vazia, apresenta zero nodos n > 0 : x1 é o primeiro nodo xn é o último nodo 1 < k < n : xk é precedido por xk-1 e sucedido por xk+1 Lista linear : seqüência de 0 ou mais nodos do mesmo tipo Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato

7 Adaptado de Nina Edelwais e Renata Galante Denise Guliato
Exemplos de aplicações com listas Notas de alunos Cadastro de funcionários de uma empresa Itens em estoque em uma empresa Dias da semana Letras de uma palavra Pessoas esperando ônibus Cartas de baralho Lista telefonica Adaptado de Nina Edelwais e Renata Galante Denise Guliato

8 Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato
Operações sobre listas lineares Operações básicas: Criação de uma lista Inserção de um nodo Exclusão de um nodo Acesso a um nodo Destruição de uma lista Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato

9 listas lineares com disciplina de acesso
Disciplina de acesso refere-se à forma como os elementos de uma lista linear são acessados, inseridos e removidos. Se os elementos de uma lista linear só podem ser inseridos, acessados ou removidos da última posição, chamamos esta lista linear de pilha (LIFO - Last In First Out); Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato

10 listas lineares com disciplina de acesso
Se os elementos de uma lista linear só podem ser inseridos na última posição e acessados ou removidos da primeira posição, chamamos esta lista linear de fila (FIFO - First In First Out); Crédito do slide para Nina Edelwais e Renata Galante Denise Guliato

11 Considerações sobre alocação de memória
Como armazenar os elementos de uma lista??? A alocação de memória para implementar uma lista pode ser estática ou dinâmica. Denise Guliato

12 Considerações sobre alocação de memória
alocação estática área de memória é alocada no momento da compilação Uma lista com alocação estática de memória exige uma definição do número máximo de elementos super ou sub dimensiona-mento do tamanho da lista. Denise Guliato

13 Considerações sobre alocação de memória
alocação dinâmica: o espaço de memória é alocado em tempo de execução. Uma lista com alocação dinâmica cresce à medida que novos elementos precisam ser armazenados (e diminui à medida que elementos anteriormente armazenados são retirados da lista). Denise Guliato

14 Considerações sobre o acesso aos elementos de uma lista
acesso sequencial --- os elementos de uma lista são armazenados de forma consecutiva na memória. Exemplo: considere que cada elemento da lista tenha tamanho k   --- o endereço de um elemento ei é facilmente calculado ei-1 ei ei+1 t t+k t+2K t+3K Denise Guliato

15 Considerações sobre o acesso aos elementos de uma lista
acesso encadeado --- os elementos de uma lista podem ocupar quaisquer áreas de memória, não necessariamente consecutivas para preservar a relação de ordem de uma lista linear, cada elemento da lista deve armazenar sua informação e o endereço de memória onde se encontra o próximo elemento --- o endereço do elemento ei não pode ser facilmente calculado. Denise Guliato

16 Considerações sobre o acesso aos elementos de uma lista
combinações possíveis: ---alocação estática versus alocação dinâmica ---acesso sequencial versus acesso encadeado alocaçao estática/acesso sequencial alocaçãoestática/acesso encadeado alocação dinâmica/acesso sequencial alocaçãodinâmica/acesso encadeado Denise Guliato

17 Referências Pereira, S.L. Estruturas de Dados Fundamentais - Conceitos e Aplicações. Editora Érica, 5a. edição, 2001. Nina Edelwais e Renata Galante. Série de Livros Didáticos – Informática da UFRGS.


Carregar ppt "Listas lineares Denise Guliato Faculdade de Computação – UFU"

Apresentações semelhantes


Anúncios Google