Baixe o app para aproveitar ainda mais
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 Estática: Quantidade total de memória utilizada pelos dados é previamente conhecida e definida de modo imutável, no próprio código fonte do programa, não variando durante toda a execução do programa. Alocação Dinâmica: Capacidade de criar novas variáveis enquanto executa, isto é, se áreas de memória que não foram declaradas no código fonte do programa forem necessárias, 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 o 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 um 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 - Temos as referências tanto indo como voltando, ao percorrer uma lista, podemos avançar e retornar pelos objetos.
Compartilhar