A pesquisa binária é um algoritmo mais eficiente para encontrar um elemento em uma matriz classificada. Funciona dividindo repetidamente o intervalo de pesquisa pela metade. Aqui está uma análise detalhada de sua função binarySearch:
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)
A função binarySearch aceita dois parâmetros:
A pesquisa linear é um dos algoritmos de pesquisa mais simples usados para encontrar um elemento específico em uma matriz. Vamos analisar a função linearSearch em PHP.
function linearSearch(array $arr, float|int $x) { for($i=0; $iA função linearSearch aceita dois parâmetros:
- $arr: uma matriz de números inteiros.
- $x: O número a ser pesquisado, que pode ser um float ou um inteiro.
- O loop for itera sobre cada elemento do array. A função count($arr) retorna o número de elementos do array.
- Dentro do loop, o código verifica se o elemento atual ($arr[$i]) é igual a $x. Se uma correspondência for encontrada, ele retornará uma mensagem indicando o índice no qual o número foi encontrado.
- Se o loop for concluído sem encontrar o número, a função retornará uma mensagem indicando que o número não foi encontrado no array.
- A pesquisa linear é direta e fácil de implementar. Ele verifica sequencialmente cada elemento do array até que o elemento desejado seja encontrado ou o final do array seja alcançado. Essa abordagem é simples, mas pode ser ineficiente para matrizes grandes, pois tem uma complexidade de tempo de O(n).
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3