>백엔드 개발 >PHP 문제 >PHP에서 이진 검색을 구현하는 방법

PHP에서 이진 검색을 구현하는 방법

coldplay.xixi
coldplay.xixi원래의
2021-02-20 16:49:534479검색

PHP에서 이진 검색을 구현하는 방법: 먼저 배열의 특정 값을 경계로 사용한 다음 끝까지 재귀적으로 검색합니다. 코드는 [if ($low <= $high){$mid = intval(( $low+ $high)/2);if ($array[$mid] == $k)].

PHP에서 이진 검색을 구현하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 5.6, DELL G3 컴퓨터 이 방법은 모든 브랜드의 컴퓨터에 적합합니다.

PHP에서 이진 검색을 구현하는 방법:

아이디어: 배열의 특정 값을 경계로 사용하고 끝까지 재귀적으로 검색합니다.

Code 1

<?php
function find($array, $low, $high, $k){
  if ($low <= $high){
  $mid = intval(($low+$high)/2);
    if ($array[$mid] == $k){
    return $mid;
  }elseif ($k < $array[$mid]){
    return find($array, $low, $mid-1, $k);
    }else{
    return find($array, $mid+1, $high, $k);
    }
  }
  die(&#39;Not have...&#39;);
}
//test
$array = array(2,4,3,5);
$n = count($array);
$r = find($array,0,$n,5)

1. 마지막으로 중요한 상황을 생각해보세요: 13번째 줄, return false가 여기에 적혀 있는데, 맞다고 생각했어요

2. die 사용법: 13번째 줄, die가 프로그램을 종료합니다

관련 영상 추천: 초보부터 마스터까지 PHP 프로그래밍

위 내용은 PHP에서 이진 검색을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.