Em um algoritmo que precisa permitir inserções e remoções frequentes no meio de uma sequência de comandos…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo que precisa permitir inserções e remoções frequentes no meio de uma sequência de comandos editáveis, qual estrutura de dados é mais apropriada para minimizar custo dessas operações?
- A) Lista encadeada (lista)
- B) Fila (queue)
- C) Vetor/array
- D) Pilha (stack)
- E) Árvore binária de busca
✅ Resposta correta: alternativa A
Resolução passo a passo
- O enunciado pede uma estrutura para uma sequência em que há inserções e remoções frequentes no meio dos dados. Nesse cenário, o que mais pesa é o custo de deslocar elementos. Passo 2: Em um vetor (array), inserir ou remover no meio exige deslocar todos os elementos seguintes, o que custa O(n) no pior caso. Passo 3: Em uma lista encadeada, basta ajustar os ponteiros dos nós vizinhos. Com a referência do nó, a inserção e a remoção custam O(1), sem deslocar outros elementos. Passo 4: A alternativa A é a correta, pois a lista encadeada minimiza o custo dessas operações. Passo 5: A alternativa B está errada, pois a fila foi feita para inserir só no fim e remover só no início, sem acesso ao meio. Passo 6: A alternativa C está errada, pois o vetor exige deslocamento de elementos a cada inserção ou remoção no meio. Passo 7: A alternativa D está errada, pois a pilha permite operações apenas no topo, e não no meio da sequência. Passo 8: A alternativa E está errada, pois a árvore binária de busca mantém os dados ordenados por chave, o que não atende a uma sequência editável na posição desejada, e suas operações custam O(log n) com rebalanceamento quando a árvore não é balanceada. Passo 9: O gabarito oficial A está correto e coincide com a resolução feita de forma independente.
💡 Dica: Considere as operações de inserção e remoção em diferentes estruturas de dados.
Alternativa por alternativa
A lista encadeada permite inserir e remover elementos no meio ajustando ponteiros sem mover todo o bloco de memória, reduzindo custo quando há muitas alterações locais.
O aluno pode ter associado a palavra sequência ao acesso ordenado e concluído que a fila, por manter a ordem de chegada, resolve a edição no meio. A fila só permite inserir no fim e remover no início.
O aluno pode ter pensado que o vetor é a estrutura mais eficiente por ser contígua e de acesso direto por índice, sem considerar que inserir no meio exige deslocar todos os elementos seguintes.
Por que engana: Escolher uma estrutura de dados que não permite inserções e remoções eficientes, como vetor, que exige deslocamento de elementos.
O aluno pode ter confundido a pilha, que é uma sequência com acesso restrito ao topo, com uma estrutura flexível para edição. Ele não percebeu que a pilha não permite operações no meio.
O aluno pode ter achado que a árvore binária de busca, por ser uma estrutura eficiente para busca e inserção, serve para qualquer edição. Ela organiza os dados por chave e não por posição na sequência, e custa O(log n), mais do que o O(1) da lista encadeada.
Raio-X da questão
estruturas de dados
avaliacao
estruturas de dados · complexidade de algoritmos
Revisar as características de listas encadeadas e arrays.
Escolher uma estrutura de dados que não permite inserções e remoções eficientes, como vetor, que exige deslocamento de elementos.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Num algoritmo que precisa inserir e remover elementos frequentemente no meio de uma sequência, qual tipo de estrutura de…
- Em um algoritmo que armazena uma sequência de comandos editáveis e de tamanho variável para executar uma ação, qual…
- Um programa guarda muitos números, precisa inserir e remover números com frequência e fazer buscas rápidas, sem…
- Em um algoritmo que insere frequentemente novos elementos no meio de uma sequência, qual estrutura de dados é mais…
- Em um projeto de programação, a equipe precisa guardar as tarefas a fazer em uma sequência na qual seja possível incluir…
- Qual técnica de programação permite criar uma lista de itens em sequência, permitindo inserções e remoções de forma…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
