ホームページ >ウェブフロントエンド >jsチュートリアル >jsバイナリ検索再帰とコード共有の作成中

jsバイナリ検索再帰とコード共有の作成中

小云云
小云云オリジナル
2018-03-08 16:19:401583ブラウズ

この記事では主に js バイナリ検索の再帰について説明し、コードの作成に役立つことを願っています。

1. 再帰
主に 3 つの変数を制御します: start endmid 、start endmid 、それを繰り返すだけでOKです。

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 ループ

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 基本アルゴリズム: バブル ソート、バイナリ サーチ

以上がjsバイナリ検索再帰とコード共有の作成中の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。