INE 5384 Estruturas de Dados Prof a. Patrícia Vilain
Conteúdo 1. Introdução 2. Listas 3. Listas Ordenadas 4. Filas 5. Pilhas 6. Árvores Árvore Binária e Árvore AVL Árvore N-ária e Árvore B 7. Tabelas de Dispersão (Hashing) 8. Métodos de Ordenação de Dados
Listas Implementadas Utilizando Encadeamento
Listas Encadeadas Os elementos estão associados entre si através de elos. Cada nodo da lista mantém um elemento (objeto) e uma referência para o próximo nodo. enen e2e2 e1e1... enen elementopróximo
Listas Encadeadas Exemplo
Características Não há limite máximo para o número de elementos na lista O limite é a capacidade da memória! Elementos não estão necessariamente em posições contíguas da memória Alocação de novos elementos em tempo de execução, conforme a lista cresce. Melhor aproveitamento do espaço livre da memória elementos estão associados entre si através de elos.
Características Memória 6
Vantagens e Desvantagens Vantagens: As operações de inserção e remoção são mais simples. Melhor aproveitamento da memória, pois não é alocado previamente o espaço de toda a estrutura. Desvantagem: A operação de acesso a um elemento em determinada posição é mais trabalhosa, pois requer que todos os nodos anteriores sejam percorridos.
Implementação Classe ListaEncadeada implementa Lista Atributos inicio (referência a um objeto da classe Nodo) fim (referência a um objeto da classe Nodo) numeroElementos inicionumeroElementos 5 fim
Implementação Classe Nodo Atributos: elemento (Object) proximo (referência a um outro objeto da classe Nodo) enen elementopróximo
Implementação Classe ListaEncadeada implementa Lista Atributos inicio (referência a um objeto da classe Nodo) fim (referência a um objeto da classe Nodo) numeroElementos Métodos construtor () + métodos especificados na interface Lista
Operações sobre a Lista Exemplo: inicionumeroElementos 7 fim 56
Operações sobre a Lista Operações: inserir o elemento 30 no final inserir o elemento 15 na posição 3 inserir o elemento 16 na posição 9 inserir o elemento 21 no final remover do final remover da posição 5 remover do início remover o elemento 20 retorna o elemento da posição 6 retorna a posição do elemento 35