Informática Múltipla Escolha

Contar a ocorrência de caracteres específicos em uma entrada de texto é tarefa comum em ciência da computação, muitas vezes realizada com a ajuda de vetores. Qual técnica de programação é mais adequada para contar o número de vezes que cada vogal aparece em uma string?

Contar a ocorrência de caracteres específicos em uma entrada de texto é tarefa comum em ciência da computação, muitas vezes realizada com a ajuda de vetores. Qual técnica de programação é mais adequada para contar o número de vezes que cada vogal aparece em uma string?

  1. Recursão.
  2. Pesquisa linear.
  3. Ordenação de bolha.
  4. Mapeamento de caracteres.
  5. Busca binária.

Resolução completa

Explicação passo a passo

D
Alternativa D

Alternativa D - Mapeamento de caracteres

Introdução

A questão aborda a eficiência algorítmica para processamento de strings, especificamente para contagem de frequências de caracteres. O objetivo é identificar a técnica mais adequada para registrar quantas vezes cada vogal aparece em um texto.

Desenvolvimento

Para resolver o problema de contar ocorrências, precisamos de uma estrutura que permita associar rapidamente cada caractere (chave) ao seu número de vezes (valor).

Análise das Alternativas

  • Recursão (A): Embora possível implementar a contagem recursivamente, ela adiciona complexidade desnecessária e pode causar estouro de pilha (stack overflow) em strings longas. Não é a técnica fundamental para o armazenamento da contagem.
  • Pesquisa Linear (B) e Busca Binária (E): São técnicas de busca. Elas servem para encontrar se um elemento específico existe na lista, mas não são otimizadas para varrer todo o conjunto e acumular estatísticas de frequência de todos os elementos simultaneamente.
  • Ordenação de Bolha (C): É um algoritmo de ordenção com complexidade quadrática O(n^2). Ordenar o texto apenas para depois contar seria extremamente ineficiente comparado às outras abordagens.
  • Mapeamento de Caracteres (D): Esta é a técnica correta. Envolve o uso de estruturas como Arrays Associativos, Hash Maps ou Dicionários.

Como funciona o Mapeamento

No contexto de contagem de caracteres, utilizamos frequentemente um vetor (array) onde os índices correspondem aos códigos ASCII dos caracteres.

\text{Contador}[código\_ASCII] = \text{Contador}[código\_ASCII] + 1

Ou, usando um mapa/hash:

CaractereContagem
'a'5
'e'3
'i'2

Essa abordagem permite percorrer a string uma única vez (Complexidade $O(n)$) e atualizar a contagem em tempo constante $O(1)$ para cada caractere.

Conclusão

A técnica de Mapeamento de Caracteres é a mais adequada pois oferece a melhor relação entre tempo de execução e espaço de memória para este tipo de agregação de dados.

Alternativa D.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Informática

Ver mais Informática resolvidas

Tem outra questão de Informática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.