Alternativa D - Mapeamento de caracteres
Introdução ao Problema
A questão aborda uma tarefa fundamental em Ciência da Computação: a análise de frequência de caracteres em strings. O enunciado destaca especificamente o uso de vetores (arrays) para resolver esse problema de contagem.
Para entender a resposta, precisamos analisar quais técnicas se encaixam melhor nessa descrição.
Desenvolvimento da Solução
A técnica ideal para este cenário envolve criar uma estrutura de dados fixa (um vetor) onde cada posição representa um tipo de vogal.
- Criamos um vetor com 5 posições (uma para cada vogal: a, e, i, o, u).
- Percorremos a string original caractere por caractere.
- Se encontrarmos uma vogal, "mapeamos" essa letra para a sua respectiva posição no vetor e aumentamos o valor dessa posição em 1.
Isso é conhecido como Mapeamento de Caracteres (ou uso de Tabela Hash/Array Direto). É a maneira mais eficiente e direta de contar frequências quando o universo de caracteres possíveis é pequeno e conhecido (apenas as 5 vogais neste caso).
Análise das Alternativas
- A) Recursão: Embora possa ser usada para percorrer uma string, não é a técnica estrutural descrita pelo uso de vetores para contagem direta. É um método de implementação, não de estrutura de dados.
- B) Pesquisa linear: Serve para encontrar um único elemento em uma lista. Contar todas as vogais exigiria múltiplas pesquisas lineares, o que seria ineficiente comparado ao mapeamento.
- C) Ordenação de bolha: É um algoritmo para organizar dados em ordem. Não tem relação lógica com a contagem de ocorrências.
- D) Mapeamento de caracteres: Correto. Envolve associar cada caractere encontrado a um índice em um vetor para acumular contagens.
- E) Busca binária: Requer que os dados estejam previamente ordenados e busca um item específico. Não serve para iterar sobre todos os caracteres e contar.
Conclusão
A técnica que utiliza vetores para associar cada vogal a um contador específico é o Mapeamento de caracteres.
Alternativa D.