Questão de Algoritmos e Estrutura de Dados — Algoritmos — COMPERVE - UFRN 2017
- Código
- qq245096
- Banca
- COMPERVE - UFRN
- Órgão
- UFRN
- Ano
- 2017
- Nível
- Superior
- Cargo
- COMPERVE - - Engenheiro - Neuroengenharia
- AI e II.
- BII e III.
- CI e IV.
- DIII e IV.
GabaritoC — I e IV.
Gabarito: letra C — estão corretas apenas as afirmações I e IV. Arranjos (arrays) suportam acesso aleatório em tempo constante O(1), mas inserção no meio exige deslocamento de elementos (O(n)). Listas ligadas permitem inserção no início em O(1) e não requerem armazenamento contíguo.
Arranjos armazenam elementos em posições consecutivas de memória, permitindo acesso direto pelo índice com complexidade O(1). Esse é um dos pontos fortes dos arrays.
Em listas ligadas, a inserção de um novo nó no início da sequência pode ser feita em tempo constante O(1), bastando ajustar o ponteiro do novo nó para o antigo primeiro e atualizar a cabeça da lista. A afirmação diz o contrário, portanto errada.
Listas ligadas são estruturas dinâmicas; cada nó é alocado separadamente e contém um ponteiro para o próximo. Elas não exigem que todos os nós estejam em uma faixa contínua de endereços — ao contrário, a própria característica é a alocação não contígua.
Inserir um elemento no meio de um arranjo exige deslocar todos os elementos seguintes uma posição para a direita (ou esquerda, dependendo da implementação), resultando em complexidade linear O(n) no pior caso. Logo, não é tempo constante.
Conclusão: corretas as afirmações I e IV, correspondendo à alternativa C (I e IV).
Link permanente: /questoes/qq245096