Em qual situação utilizar um vetor ao invés de uma lista encadeada para organizar objetos?
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Classificar informações, agrupando-as em coleções (conjuntos) e associando cada coleção a um ‘tipo de dado’.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em qual situação utilizar um vetor ao invés de uma lista encadeada para organizar objetos?
- A) Quando você precisa de acesso rápido aos elementos.
- B) Quando você precisa de inserções frequentemente.
- C) Quando você não sabe o tamanho dos dados a serem armazenados.
- D) Quando você deseja armazenar objetos de tipos diferentes.
- E) Quando a eficiência de memória não é uma preocupação.
✅ Resposta correta: alternativa A
Resolução passo a passo
- Analise o que caracteriza cada estrutura. Um vetor (array) armazena elementos em posições contíguas da memória, e cada elemento é acessado diretamente pelo índice, em tempo constante (O(1)). Uma lista encadeada armazena cada elemento em um nó que aponta para o próximo, então para chegar a um elemento é preciso percorrer a lista desde o início, em tempo proporcional à posição (O(n)).
- Identifique o critério da questão. Ela pergunta em qual situação usar vetor no lugar de lista encadeada. Como a vantagem do vetor está no acesso direto, a situação em que ele é preferível é aquela em que se precisa de acesso rápido aos elementos.
- Verifique as demais alternativas. B) Está errada porque inserções frequentes, sobretudo no meio ou no início, são caras em vetores, pois exigem deslocar elementos; listas encadeadas são melhores nesse caso. C) Está errada porque vetores exigem tamanho definido ou realocação, enquanto listas encadeadas crescem dinamicamente sem saber o tamanho antecipadamente. D) Está errada porque vetores tradicionais armazenam elementos de um mesmo tipo, e a diferença de tipos não é o motivo para escolher vetor. E) Está errada porque o vetor costuma ser mais compacto em memória, sem ponteiros extras, de modo que a eficiência de memória é justamente uma vantagem a considerar.
- Conclusão. O gabarito A está correto, pois o acesso indexado do vetor é a principal razão para preferi-lo.
💡 Dica: Considere as vantagens de cada estrutura de dados.
Alternativa por alternativa
Vetores oferecem acesso rápido porque os elementos estão contidos em posições contíguas de memória.
O aluno acredita que vetores são mais rápidos para inserções frequentes, confundindo com a facilidade de inserir nós em uma lista encadeada.
Por que engana: Confundir a eficiência de acesso em vetores com a flexibilidade de listas encadeadas, escolhendo a estrutura errada para o problema.
O aluno entende que vetores são flexíveis quanto ao tamanho, quando na verdade o vetor tradicional precisa de dimensão definida ou de realocação, enquanto a lista cresce sob demanda.
O aluno supõe que a característica de armazenar tipos diferentes é o que distingue o vetor, sem considerar que vetores tradicionais guardam elementos de um mesmo tipo.
O aluno raciocina que, se a memória não importa, tanto faz a estrutura, sem perceber que a escolha do vetor pela compactação de memória é justamente um critério de eficiência.
Raio-X da questão
vetores e listas encadeadas
avaliacao
estrutura de dados · acesso a elementos
Revisar as características e aplicações de vetores e listas encadeadas.
Confundir a eficiência de acesso em vetores com a flexibilidade de listas encadeadas, escolhendo a estrutura errada para o problema.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Qual o benefício de usar uma lista encadeada em vez de um vetor em um projeto de programação?
- Qual é a principal vantagem de utilizar uma lista encadeada em vez de um vetor em um programa?
- Qual estrutura de dados é mais adequada para armazenar uma lista de itens em que a ordem é importante e pode ser…
- Qual a aplicação prática de uma lista ligada em programação?
- Qual a principal vantagem de usar listas encadeadas em comparação às listas tradicionais em um projeto de programação?
- Qual é a vantagem de usar listas em vez de matrizes para armazenar dados em um programa?
🔎 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
