La búsqueda binaria es un algoritmo más eficiente para encontrar un elemento en una matriz ordenada. Funciona dividiendo repetidamente el intervalo de búsqueda por la mitad. Aquí hay un desglose detallado de su función de búsqueda binaria:
function binarySearch(array $arr, float|int $x) { $low = 0; $high = count($arr)-1; // $midIndex = (int) ($low ($high - $low)/2); $i = 0; while($low $arr[$midIndex]){ $low = $midIndex 1; echo $low."\n"; }else{ $high = $midIndex - 1; } } return "The number {$x} was not found in the array"; } echo binarySearch([1,2,3,4,5,6,7,8,9,10,44,45,46,47,48,49,50], 45)
La función binarioSearch acepta dos parámetros:
La búsqueda lineal es uno de los algoritmos de búsqueda más simples que se utilizan para encontrar un elemento particular en una matriz. Analicemos la función linearSearch en PHP.
function linearSearch(array $arr, float|int $x) { for($i=0; $iLa función linearSearch acepta dos parámetros:
- $arr: una matriz de números enteros.
- $x: El número a buscar, que puede ser un flotante o un número entero.
- El bucle for itera sobre cada elemento de la matriz. La función count($arr) devuelve el número de elementos de la matriz.
- Dentro del bucle, el código verifica si el elemento actual ($arr[$i]) es igual a $x. Si se encuentra una coincidencia, devuelve un mensaje indicando el índice en el que se encontró el número.
- Si el ciclo se completa sin encontrar el número, la función devuelve un mensaje indicando que el número no se encontró en la matriz.
- La búsqueda lineal es sencilla y fácil de implementar. Comprueba secuencialmente cada elemento de la matriz hasta encontrar el elemento deseado o llegar al final de la matriz. Este enfoque es simple pero puede resultar ineficiente para matrices grandes, ya que tiene una complejidad temporal de O(n).
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3