Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — Fundação CETAP 2025
Algoritmos e Estrutura de Dados›Estrutura de Dados
Código
qg504091
Banca
Fundação CETAP
Órgão
BANPARÁ
Ano
2025
Nível
Superior
Cargo
Técnico em Informática - Desenvolvimento de Sistemas e Acompanhamento de Projetos
Qual estrutura de dados é apropriada para armazenar uma lista de elementos, que permita a inserção, remoção e busca de elementos com eficiência, além disso, a ordem de inserção dos elementos deve ser preservada e o acesso a qualquer elemento da lista deve ser rápido?
ALista duplamente encadeada.
BFila.
CÁrvore binária de busca.
DPilha.
EVetor.
Revelar gabarito e comentário▾
GabaritoE — Vetor.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Estruturas de dados: acesso aleatório e preservação de ordem
Gabarito: letra E. O vetor (array) é a única estrutura que oferece acesso aleatório em O(1) a qualquer elemento, preservando a ordem de inserção. As demais alternativas falham em pelo menos um dos requisitos: listas encadeadas e árvores não têm acesso rápido; filas e pilhas restringem as operações.
A questão exige uma estrutura que atenda a três critérios simultaneamente:
Eficiência em inserção, remoção e busca;
Preservação da ordem de inserção;
Acesso rápido a qualquer elemento.
Nenhuma estrutura é ideal em todos os aspectos, mas o vetor é o que melhor se encaixa quando o acesso aleatório é prioritário, como no enunciado.
Estrutura
Inserção/Remoção Eficiente
Preserva Ordem de Inserção
Acesso Rápido a Qualquer Elemento
Lista duplamente encadeada
O(1) (se nó conhecido)
Sim
Não (O(n))
Fila
O(1) (nas extremidades)
Sim
Não (O(n))
Árvore binária de busca
O(log n) (média)
Não
Não (por índice)
Pilha
O(1) (no topo)
Sim (LIFO)
Não (O(n))
Vetor
O(1) (final) / O(n) (meio/início)
Sim
Sim (O(1))
Alternativa A — ❌ Incorreta
Lista duplamente encadeada. Inserções e remoções são O(1) se o nó é conhecido, mas o acesso a um elemento arbitrário requer percorrer a lista (O(n)). A ordem de inserção é preservada, mas o acesso não é rápido.
Alternativa B — ❌ Incorreta
Fila. Inserções e remoções são O(1) nas extremidades, porém o acesso a elementos do meio exige remoção sequencial (O(n)). Além disso, a fila não permite acesso aleatório direto.
Alternativa C — ❌ Incorreta
Árvore binária de busca. A busca é O(log n) em média, mas a ordem de inserção não é preservada — os elementos são reorganizados conforme as chaves. O acesso por índice não existe.
Alternativa D — ❌ Incorreta
Pilha. Inserções e remoções são O(1) no topo, mas o acesso a qualquer elemento abaixo do topo exige desempilhar tudo (O(n)). A ordem é LIFO, não permite acesso aleatório.
Alternativa E — ✅ Correta ⟵ GABARITO
Vetor (array). Oferece acesso aleatório O(1) a qualquer posição, mantendo a ordem de inserção. Inserções e remoções no final são O(1) amortizado; no meio ou início são O(n), mas a questão não especifica onde ocorrem. A busca linear é O(n), mas a prioridade foi o acesso rápido. O vetor atende os três requisitos mencionados.
PEGA ESSA DICA!
Em questões sobre estruturas de dados, identifique as operações críticas: se o enunciado destaca "acesso rápido a qualquer elemento", a resposta quase sempre será um vetor (array). Listas encadeadas e árvores têm acesso sequencial ou por busca, nunca direto.