Para reduzir uso de memória ao armazenar textos repetidos em muitos registros de uma matriz, qual técnica deve…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Compreender e utilizar diferentes formas de armazenar, manipular, compactar e recuperar arquivos, documentos e metadados.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Para reduzir uso de memória ao armazenar textos repetidos em muitos registros de uma matriz, qual técnica deve ser aplicada?
- A) Armazenar todas as strings em variáveis separadas.
- B) Internamento de strings (string interning) ou tabela de referência única: armazenar cada texto uma vez e referenciar por índice/ponteiro.
- C) Usar uma lista encadeada para cada string.
- D) Armazenar os textos apenas uma vez no disco rígido.
- E) Converter todos os textos em números inteiros.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O problema descrito é a repetição de textos idênticos em muitos registros de uma matriz (ou estrutura equivalente). Cada cópia de um mesmo texto ocupa memória, e isso cresce com o número de registros.
- A técnica que resolve esse problema é armazenar cada texto distinto uma única vez e fazer os registros apontarem para essa cópia, por meio de um índice ou ponteiro. Isso é o que se chama internamento de strings (string interning) ou tabela de referência única.
- Por que a alternativa B está correta: ela descreve exatamente essa ideia, reduzindo o uso de memória sem perder informação, pois cada texto continua acessível pela referência.
- Por que as outras estão erradas: A) armazenar em variáveis separadas não elimina cópias, apenas organiza o código; C) listas encadeadas por string aumentam o consumo de memória com ponteiros extras; D) guardar no disco rígido remove o texto da memória principal, mas não reduz o uso de memória ao armazenar os registros, além de ser mais lento; E) converter textos em inteiros só ajuda se houver uma tabela de correspondência, que é justamente a ideia da alternativa B, e por si só não resolve a repetição.
- Conclusão: o gabarito B está correto e coincide com a resolução feita independentemente.
💡 Dica: Pense em técnicas de compressão de dados.
Alternativa por alternativa
Acredita que separar cada texto em uma variável própria evita a repetição, quando na verdade cada variável ainda guarda uma cópia completa do texto.
Por que engana: Escolher a alternativa que sugere armazenar todas as strings separadamente, o que não é eficiente em termos de memória.
Ao guardar apenas uma cópia de cada texto e usar referências nos registros evita-se duplicação e diminui o consumo de memória.
Imagina que uma estrutura de lista encadeada compacta os dados, quando ela costuma acrescentar ponteiros e não elimina a duplicação dos textos.
Confunde armazenamento em disco com redução do uso de memória durante a execução, ignorando que o problema está na memória ocupada pelos registros.
Supõe que trocar textos por números resolve sozinho a repetição, sem perceber que é preciso uma tabela que associe cada número a um único texto, que é o próprio internamento.
Raio-X da questão
compressão de dados
avaliacao
compressão de dados · armazenamento eficiente
Revisar técnicas de compressão de dados em matrizes.
Escolher a alternativa que sugere armazenar todas as strings separadamente, o que não é eficiente em termos de memória.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Identifique uma técnica de programação que pode ser usada para otimizar o armazenamento de dados repetidos.
- Qual técnica permite otimizar o armazenamento e manipulação de dados em uma aplicação?
- Para representar uma grande matriz de leituras de sensores em que a maioria dos valores é zero, qual técnica de…
- Ao projetar um algoritmo que armazena as senhas de usuários em uma matriz de registros 'usuarios', que técnica deve ser…
- Dado um algoritmo que processa uma matriz esparsa de notas de alunos, qual representação de dados reduz…
- Você é programador e precisa desenvolver um sistema que armazene dados de usuários em uma matriz. Como garantir que…
Todas as questões de Armazenamento e Transmissão de dados - Gestão de dados
🔎 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
