A classe Java a seguir contém dois métodos (busca e busca...

A classe Java a seguir contém dois métodos (busca e buscaBin) que implementam um algoritmo de busca binária sobre um array de inteiros.



O que será exibido no console quando o método main() for executado?

  • 02/07/2021 às 11:43h
    1 Votos

    o metodo busca usa o metodo buscaBin, o qual tem 4 argumentos: vetor, elem, ini e fim. quando invocado, ele esta especificado com ini=0 & fin = 10 (vet.length-1 = 10, o que indica q o vetor tem tamanho 11. 11-1 = 10)

    int m = (ini+fin)/2 -> (10+0)/2 = 5

    vet[5] -> pos 5 no vetor: 96

    if (vet[m] > elem) -> if (96 > 61)

    como 96 é maior q 61, ele vai entrar no if (vet[m] > elem), incrementando o valor atual de m
    return buscaBin(vet, elem, m+1, fin)

    m = (6+10)/2 = 8

    m = 8 como é funcao recursiva, ele entra de novo agora na iteração agora com m=8.
    vet[8] = 55. 55 é a pos 8 do array.

    if (vet[m] > elem)
    else
    m-1.

    (6 + 7)/2 = 6. pos 6 do vetor é 80.

    if (vet[m] > elem) -> 80 > 61
    else

    m+1 = 6+1 = 7

    (7+7)/2 = 7

    vet[7] = 60.



    O 4° item do array é 60. logo, a funcao busca retorna 96,55,80,60

  • Navegue em mais questões

    {TITLE}

    {CONTENT}

    {TITLE}

    {CONTENT}
    Estude Grátis