이진 검색은 정렬된 배열에서 요소를 찾는 데 더 효율적인 알고리즘입니다. 검색 간격을 반복적으로 절반으로 나누어 작동합니다. BinarySearch 기능에 대한 자세한 설명은 다음과 같습니다.
function binarySearch(array $arr, float|int $x) { $low = 0; $high = count($arr)-1; // $midIndex = (int) ($low + ($high - $low)/2); $i = 0; while($low <= $high){ $i++; $midIndex = (int) ($low + (($high - $low)/2)); //the same as intdiv($low + $high, 2); if($arr[$midIndex] == $x){ return "The number {$x} was found in index {$midIndex} of the array. The number of iteration was {$i}"; }elseif($x > $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)
binarySearch 함수는 두 개의 매개변수를 허용합니다:
선형 검색은 배열에서 특정 요소를 찾는 데 사용되는 가장 간단한 검색 알고리즘 중 하나입니다. PHP의 선형 검색 기능을 분석해 보겠습니다.
function linearSearch(array $arr, float|int $x) { for($i=0; $i < count($arr); $i++){ if($x === $arr[$i]){ return "The number {$x} was found in index {$i} of the array\n"; } } return "The number {$x} was not found in the array\n"; } echo linearSearch([1,5,6,3,4,11,3,2], 4);
linearSearch 함수는 두 개의 매개변수를 허용합니다:
위 내용은 검색 알고리즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!