10
中央の番号を見つけましょう。それは9です。9を探している数と比較できます。 9は私たちが探している数と同じです。
これは、私たちの研究が停止する可能性があることを意味します。リストで9番目を見つけることができました! JavaScriptでバイナリ検索を実装する方法バイナリ検索は、反復または再帰的なアプローチを使用して実装できます。 反復二分探索反復二分探索は、whileループを使用してリスト内の項目を検索します。このループは、アイテムがリストで見つかるまで、またはリストが検索されるまで実行されます。 バイナリ検索を実行する関数: 最初に、startとendの2つの変数を定義しましょう。これらは、私たちの研究が取り組んでいる最高値と最低値を追跡します。 whileループを使用します。これは、開始番号が終了番号より大きくなるまで実行されます。このループは、リストの開始と終了の間の中間数を計算します。 探している数字が真ん中の数字と等しい場合、真ん中の数字がメインプログラムに返されます。数値が小さい場合、シード値は中央の数値に1を加えた値に等しくなるように設定されます。これらの比較は、ifステートメントを使用して行われます。
それ以外の場合、最終的な数値は中央の数値から1を引いたものに設定されます。whileループの実行後に数値が見つからない場合は、-1が返されます。これを基本条件と呼びます。メインプログラムでは、返された数値が-1に等しいかどうかを確認します。つまり、数値が見つからなかったことを意味します。 この関数はまだ機能していません。名前を付けるためにメインプログラムを作成する必要があります。 検索する番号のリストと、リストで検索する番号を定義しました。次に、binarySearch関数を呼び出しました。これは私たちの研究を行います。検索では、-1または探している要素の位置が返されます。 -1は、アイテムが見つからなかったことを示します。要素が見つからない場合は、 else ステートメントの内容が実行されます。それ以外の場合は、 if ステートメントの内容が実行されます。
コードを実行してみましょう: これは、検索が成功したことを示しています! 再帰的二分探索 再帰的二分探索は、反復的探索よりも洗練されていると見なされます。これは、バイナリ検索がリストに対して同じ操作を繰り返し実行するためです。この動作は、再帰アルゴリズムを使用して実装できます。 新しいJavaScriptファイルを開き、次のコードを貼り付けます。 このコードは、最初の検索と同じ比較を行います。中央の数値が、探している数値と等しいか、大きいか小さいかを確認します。 function では、ifステートメントを使用して、開始番号が終了番号より大きいかどうかを確認しました。大きい場合は、指定したリストにアイテムが見つからなかったことを意味します。この場合、メインプログラムに-1を返します。 探している番号が中央の番号と同じである場合、中央の番号はメインプログラムに返されます。探している数値が中央の数値よりも大きいか小さい場合、バイナリ検索関数が再度実行されます。これは、要素が見つかるまで続きます。 この関数を実行するには、次のことを行う必要があります。メインプログラムに変更を加えます: さらに2つのパラメータを渡す必要があります。「start」と「end」の値です。 「start」の値は0です。「end」の値はリストの長さから1を引いたものに等しくなります。
コードを実行して、何が起こるか見てみましょう。 バイナリ検索が成功しました!これは、反復アプローチと同じ基本的なアルゴリズムを使用します。違いは、バイナリ検索は、アイテムが見つかるまで、またはリスト内の検索が完了するまで、どちらか早い方で呼び出される関数を使用して実行されることです。 結論バイナリ検索を使用すると、リスト内のアイテムを簡単に見つけることができます。検索を実行するたびに、リストに残っているアイテムの数が半分に減ります。これにより、線形検索よりもバイナリ検索の効率が向上します。 これで、次の準備が整いました。エキスパートのようにJavaScriptでバイナリ検索を実装してください!
Shop
Learn programming in R: courses $
Best Python online courses for 2022 $
Best laptop for Fortnite $
Best laptop for Excel $
Best laptop for Solidworks $
Best laptop for Roblox $
Best computer for crypto mining $
Best laptop for Sims 4 $
Latest questions
NUMPYNUMPY
psycopg2: insert multiple rows with one query
12 answers
NUMPYNUMPY
How to convert Nonetype to int or string?
12 answers
NUMPYNUMPY
How to specify multiple return types using type-hints
12 answers
NUMPYNUMPY
Javascript Error: IPython is not defined in JupyterLab
12 answers
Wiki
Python OpenCV | cv2.putText () method
numpy.arctan2 () in Python
Python | os.path.realpath () method
Python OpenCV | cv2.circle () method
Python OpenCV cv2.cvtColor () method
Python - Move item to the end of the list
time.perf_counter () function in Python
Check if one list is a subset of another in Python
Python os.path.join () method
|