>  기사  >  웹 프론트엔드  >  Node.js 이진 검색 재귀 및 코드 공유 작성 중

Node.js 이진 검색 재귀 및 코드 공유 작성 중

小云云
小云云원래의
2018-03-08 16:19:401473검색

이 기사는 주로 js 바이너리 검색 재귀를 공유하고 코드를 작성하는 동안 도움이 되기를 바랍니다.

1. 재귀
주로 세 가지 변수를 제어합니다: 시작 끝 중간, 시작 끝 중간, 반복하면 괜찮습니다.

const data = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]function Recursive(s,data){

    let len = data.length
    let start = 0
    let end = len-1
    let mid
    return find(start,end,s)}function find(start,end,s){

       mid =Math.ceil((end+start)/2) 

        if (s==data[mid]) {            return s
        }         else if(s>data[mid] && start <= end) {

            end = mid-1
            return find(start,end,s)
        }        else if(s<data[mid] && start <= end){

         start  = mid+1

          return  find(start,end,s)

        }        else{            return null
        }

}
let v = f(15,data)
console.log("vvvv",v)
  1. while loop

const data = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]function while_find(s){
    let len = data.length
    let start = 0
    let end = len-1
    let mid

    while(start <= end){

        mid =Math.ceil((end+start)/2)

        if (s<data[mid]) {

            start = mid+1
        }        else if(s>data[mid]){            end = mid-1 
        }        else{            return s
        }


    }  return null}
let v= while_find(8)
console.log("vvvv",v)

는 이 기사를 주로 그립니다. 관심 있는 학생들은 이 기사를 몇 가지 변형하여 확인할 수도 있습니다.

관련 추천:

php 이진 검색 알고리즘 예제 공유

php 재귀 및 비재귀 구현을 위한 이진 검색 예제 코드

js 기본 알고리즘: 버블 정렬, 이진 검색

위 내용은 Node.js 이진 검색 재귀 및 코드 공유 작성 중의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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