Prévia do material em texto
ESTRUTURA DE DADOS I ATIVIDADES DA AULA 08 1. Destaque as principais vantagens da implementação de uma estrutura de dados dinâmica (como exemplo, uma lista encadeada) em relação a uma estrutura de dados estática (como exemplo, um vetor declarado estaticamente). Alocação Estatica: Quantidade total de memoria ultilizada pelos dadsos é previamente conhecida e definida de modo imutavel, no proprio codigo fonte do programa, nãovariano durante toda a execução do programa. Alocação Dinamica: Capacidade de criar nocas variaveis enquanto executa, isto é, se areas de memoria que não foram declaradas nocodigo fonte do programa forem necessarias, elas passam a existir. 2. Apresente as vantagens e desvantagens da implementação de uma lista duplamente encadeada em relação a uma lista simplesmente encadeada. Lista duplamente encadeada Pode ser percorrida pelos dois lados, ou seja, você pode começar pela cabeça ou pelo rabo da lista e andando de nó em nó. Pode escolher qual é o provável caminho mais eficiente. Para alcançar este objetivo cada nó deve possuir um apontamento para o próximo nó e outro para o anterior. Ela costuma ter, na prática melhor performance em todas operações, ainda que seja irrisório. Pode ter maior consumo de memória (tem como otimizar isto, mas há desvantagens também). Lista simplesmente encadeada Só dá para percorrer de um lado obrigando começar pela cabeça. Os nós só precisam apontar para o próximo nó. Ela é mais eficiente em consumo de memória e um pouco menos complexa. A diferença é que em uma lista simplesmente encadeada cada nó da lista possui um ponteiro para o próximo nó, já em uma lista duplamente encadeada cada nó da lista possui uma ponteiro tanto para o próximo nó quanto para o nó anterior. Encadeamento Simples - Anda somente em um sentido, não consegue retornar. Encadeamento Duplo - Você tem as referencias tanto indo como voltando, ao percorrer uma lista você pode avançar e retornar pelos objetos.