Alternativa B - Apenas II
Para responder a esta questão, precisamos analisar como a ordem dos dados (ordenado vs. desordenado) impacta a complexidade de tempo das operações em uma estrutura de dados linear (array). A eficiência é geralmente medida pela notação Big O (O), que descreve o crescimento do número de operações em relação ao tamanho da entrada (n).
Análise das Operações
Vamos examinar cada item proposto:
I. Inserir um novo elemento
- Array Desordenado (
arr1): Para inserir um elemento sem se preocupar com a ordem, podemos simplesmente colocá-lo no final do array. Isso leva tempo constante. - Complexidade: O(1)
- Array Ordenado (
arr2): Para manter a propriedade de ordenação após a inserção, primeiro precisamos encontrar a posição correta (busca binária, O(\log n)) e depois deslocar todos os elementos subsequentes para abrir espaço. O deslocamento domina o custo. - Complexidade: O(n)
- Conclusão: Inserir em um array desordenado é mais eficiente (ou pelo menos igual) neste contexto.
II. Procurar um dado elemento
- Array Desordenado (
arr1): Não sabemos onde o elemento está. Precisamos verificar cada um, um por um, até encontrar ou esgotar a lista. - Complexidade: O(n) (Busca Linear)
- Array Ordenado (
arr2): Podemos usar a Busca Binária. Como a lista está ordenada, podemos descartar metade da busca a cada passo, dividindo o problema recursivamente. - Complexidade: O(\log n) (Busca Binária)
- Conclusão: Procurar em um array ordenado é significativamente mais eficiente.
III. Calcular a média dos elementos
- Ambos os Arrays: Para calcular a média, é necessário somar todos os valores e dividir pela quantidade de elementos. A ordem dos números não altera a soma nem a quantidade.
- Complexidade: O(n) para ambos.
- Conclusão: Não há diferença de eficiência entre os dois casos.
Resumo Comparativo
| Operação | Array Desordenado | Array Ordenado | Mais Eficiente? |
|---|
| Inserir | O(1) | O(n) | Desordenado |
| Procurar | O(n) | O(\log n) | Ordenado |
| Média | O(n) | O(n) | Igualdade |
Como apenas a operação II (Procurar) apresenta ganho de eficiência ao utilizar a lista ordenada, a alternativa correta é a que aponta exclusivamente este item.
Alternativa B.