FC ConcursosFC Concursos

Questão FC373266

Considere o método Java abaixo. public static void dados(int x, int[] numeros) { int cont; for (cont = 0; cont < numeros.length; cont++) { if (numeros[cont] == x) { System.out.prin

Linguagens de Programação

FCC · 2022

Considere o método Java abaixo.

 

public static void dados(int x, int[] numeros) {

      int cont;

      for (cont = 0; cont < numeros.length; cont++) {

           if (numeros[cont] == x) {

               System.out.println("S");

               break;

           }

      }

      if (cont >= numeros.length) {

          System.out.println("N");

      }

  }

 

Considerando o array numeros contendo {5, 3, 1, 8, 6, 9}, pode-se afirmar corretamente que o método utiliza um algoritmo de

  1. ordenação merge sort.
  2. pesquisa sequencial.
  3. ordenação bubble sort.
  4. ordenação quick sort.
  5. pesquisa binária.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

O método percorre o vetor posição a posição e compara cada elemento com x; ao encontrar igual imprime "S" e usa break para sair do laço. Esse comportamento caracteriza a pesquisa sequencial.

Observe que a variável cont é incrementada de 0 até numeros.length; se o laço terminar sem encontrar x, a condição cont >= numeros.length indica ausência e imprime "N".

A pesquisa sequencial não exige que o array esteja ordenado: ela verifica cada posição até achar o elemento. Em termos de complexidade, tem tempo linear, ou seja, O(n) no pior caso, com melhor caso O(1) quando o elemento está na primeira posição.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo