Búsqueda Binaria en JavaScript

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos los fundamentos de la programación en JavaScript. Cubriremos temas como variables, tipos de datos, funciones y flujo de control. Al final del laboratorio, tendrás una sólida comprensión de la sintaxis de JavaScript y serás capaz de escribir programas básicos utilizando este lenguaje. Este laboratorio está diseñado para principiantes con poco o ningún conocimiento de programación, pero también será útil para aquellos que deseen refrescar sus conocimientos de JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") subgraph Lab Skills javascript/variables -.-> lab-28173{{"Búsqueda Binaria en JavaScript"}} javascript/data_types -.-> lab-28173{{"Búsqueda Binaria en JavaScript"}} javascript/arith_ops -.-> lab-28173{{"Búsqueda Binaria en JavaScript"}} javascript/comp_ops -.-> lab-28173{{"Búsqueda Binaria en JavaScript"}} javascript/cond_stmts -.-> lab-28173{{"Búsqueda Binaria en JavaScript"}} javascript/loops -.-> lab-28173{{"Búsqueda Binaria en JavaScript"}} javascript/array_methods -.-> lab-28173{{"Búsqueda Binaria en JavaScript"}} end

Algoritmo de Búsqueda Binaria

Para comenzar la práctica de codificación, abre la Terminal/SSH y escribe node. El algoritmo de búsqueda binaria se utiliza para encontrar el índice de un elemento dado en una matriz ordenada. Estos son los pasos para implementar el algoritmo de búsqueda binaria:

  1. Declara los límites de búsqueda izquierdo y derecho, l y r, inicializados en 0 y la longitud de la matriz respectivamente.
  2. Utiliza un bucle while para reducir repetidamente la submatriz de búsqueda dividiéndola por la mitad utilizando Math.floor().
  3. Si se encuentra el elemento, devuelve su índice. De lo contrario, devuelve -1.
  4. Tenga en cuenta que este algoritmo no tiene en cuenta los valores duplicados en la matriz.

A continuación, se muestra una implementación de ejemplo del algoritmo de búsqueda binaria en JavaScript:

const binarySearch = (arr, item) => {
  let l = 0,
    r = arr.length - 1;
  while (l <= r) {
    const mid = Math.floor((l + r) / 2);
    const guess = arr[mid];
    if (guess === item) return mid;
    if (guess > item) r = mid - 1;
    else l = mid + 1;
  }
  return -1;
};

Puedes probar la función binarySearch con los siguientes ejemplos:

binarySearch([1, 2, 3, 4, 5], 1); // 0
binarySearch([1, 2, 3, 4, 5], 5); // 4
binarySearch([1, 2, 3, 4, 5], 6); // -1

Resumen

¡Felicidades! Has completado el laboratorio de Búsqueda Binaria. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.