• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

116
Vistas
¿Por qué mi bucle while no se interrumpe y sigue registrando el índice buscado en mi búsqueda binaria infinitas veces?

Usando javascript , he estado probando la búsqueda binaria y he tomado un ciclo while que repetirá la lista de números hasta que el primer índice sea menos que igual al último. Luego calculo el punto medio o la media y comparo el valor del índice del punto medio con el valor de entrada. Cuando coincide, muestra el índice del valor de entrada pero el ciclo nunca termina.

 function binary_search(value, array){ var first = 0; var last = array.length - 1; while(first <= last){ var midpoint = Math.floor((first + last) / 2); if(array[midpoint] == value){ console.log(midpoint); }else if(array[midpoint] < value){ first = midpoint + 1; }else if(array[midpoint] > value){ last = midpoint -1; } } }
almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No hay nada que detenga su ciclo, una vez que llega a su declaración if

 if(array[midpoint] == value){ console.log(midpoint); }

Y si la declaración devuelve verdadero ya que ya no regresa, rompe o cambia los valores de primero/último, el ciclo seguirá repitiéndose. Lo más probable es que deba incluir una declaración de ruptura dentro de esa declaración if. Me gusta:

 function binary_search(value, array){ var first = 0; var last = array.length - 1; while(first <= last){ var midpoint = Math.floor((first + last) / 2); if(array[midpoint] == value){ console.log(midpoint); break; }else if(array[midpoint] < value){ first = midpoint + 1; }else if(array[midpoint] > value){ last = midpoint -1; } } }
almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda