Matemática Múltipla Escolha

Um array arr1 contém uma lista desordenada de números inteiros. A array arr2, por outro lado, contém uma lista ordenada de números inteiros. Quais das seguintes operações é mais eficiente com arr2 do que arr1?

Um array arr1 contém uma lista desordenada de números inteiros. A array arr2, por outro lado, contém uma lista ordenada de números inteiros. Quais das seguintes operações é mais eficiente com arr2 do que arr1?

  1. Apenas I
  2. Apenas II
  3. Apenas III
  4. Apenas I e II
  5. Todas

Resolução completa

Explicação passo a passo

B
Alternativa B

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çãoArray DesordenadoArray OrdenadoMais Eficiente?
InserirO(1)O(n)Desordenado
ProcurarO(n)O(\log n)Ordenado
MédiaO(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.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

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