Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

検索された番号が存在する場合にインデックスを返すためにJavaScriptでバイナリ検索を実装する


ソートされた数値の配列を最初の引数として受け取り、検索番号を2番目の引数として受け取るJavaScript関数を作成する必要があります。

検索番号が配列に存在する場合は、そのインデックスを配列に返す必要があります。それ以外の場合は、-1を返す必要があります。

二分探索アルゴリズムを利用してこれを行う必要があります。二分探索アルゴリズムは基本的に分割統治アルゴリズムであり、シングルトン要素と会話するまで配列を半分に再帰的に分割します。

この場合、配列の並べ替えは、分割する部分を簡単に決定できるため、二分探索アルゴリズムに必要です。

const arr = [-3, -1, 4, 7, 9, 11, 14, 22, 26, 28, 36, 45, 67, 78, 88, 99];
const binarySearch = (arr = [], num) => {
   let l = 0;
   let r = arr.length - 1;
   while(l <= r){
      const mid = Math.floor((l + r) / 2); if(num == arr[mid]){
         return mid;
      }
      else if(num < arr[mid]){
         r = mid - 1;
      }
      else{
         l = mid + 1;
      };
   };
   return -1
};
console.log(binarySearch(arr, 22));
console.log(binarySearch(arr, 56));
console.log(binarySearch(arr, 11));

出力

そして、コンソールの出力は-

になります
7
-1
5

  1. JavaScriptを使用してドキュメント内の画像の数を返す方法は?

    ドキュメント内の画像の数を返すには、画像を使用します JavaScriptのプロパティ。 例 次のコードを実行して、画像の数を取得してみてください- <!DOCTYPE html> <html>    <body>       <img src="https://www.tutorialspoint.com/html5/images/html5-mini-logo.jpg">       <img src="https://ww

  2. JavaScriptでの線形検索の実装

    以下は、JavaScriptで線形検索を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>