バイナリ検索アルゴリズムと時間計算量について簡単に説明し、バイナリ検索アルゴリズムを実装する

バイナリ検索アルゴリズムと時間計算量について簡単に説明し、バイナリ検索アルゴリズムを実装する

[[432404]]

バイナリ検索は、バイナリ検索アルゴリズムとも呼ばれ、シンプルで理解しやすい高速検索アルゴリズムです。たとえば、0 から 100 までの数字をランダムに書いて、何を書いたかを推測してもらいます。あなたが推測するたびに、その推測が高すぎるか低すぎるかを、あなたが正しく推測するまでお伝えします。

このアルゴリズムでは、検索対象の配列がソートされている必要があり、実装手順は次のとおりです。

  • 配列の中央の数字を選択する
  • 検索番号は中央の番号と比較されます。中央の番号より小さい場合は、中央の番号の左側のサブ配列を検索します。中央の番号より大きい場合は、中央の番号の右側のサブ配列を検索します。等しい場合は、検索が成功したと返されます。
  • 検索が成功または失敗するまで、前の手順を繰り返します。
  1. 関数binarySearch(items, item) {
  2. var 低 = 0,
  3. 高さ = アイテムの長さ - 1、
  4. 中間、要素
  5. (低<=高)の間{
  6. 中間 = Math.floor((low+high)/2)
  7. elem = アイテム[mid]
  8. if(要素 < 項目) {
  9. 低 = 中 + 1
  10. }そうでない場合 (要素 > 項目) {
  11. 高 = 中 - 1
  12. }それ以外{
  13. 戻る途中
  14. }
  15. }
  16. -1を返す
  17. }
  18.  
  19. // テスト
  20. var arr = [2,3,1,4]
  21. // クイックソート
  22. クイックソート(arr)
  23.  
  24. バイナリサーチ(arr, 3)
  25. // 2
  26.  
  27. バイナリサーチ(arr, 5)
  28. // -1

テスト成功

バイナリ検索のエラーが発生しやすいポイント:

  • ループ終了条件はlow <= highです。<=であることに注意してください。
  • midの値はMath.floor((low+high)/2)です。
  • 低 高 更新されるたびに、低 = 中 + 1 高 = 中 - 1

バイナリ検索の制限:

  • 対象オブジェクトは配列構造であり、要素は添え字を通じてランダムにアクセスされる。
  • 配列は順番どおりでなければならない
  • 配列が小さすぎて適していません。順次検索を使用してください。
  • 配列が長すぎるのは適切ではありません。配列には連続したメモリ空間が必要であり、配列が長すぎると保存に適しません。

時間計算量: O(logn)

空間計算量: O(1)

リートコード: https://leetcode-cn.com/problems/binary-search/solution/er-fen-cha-zhao-by-user7746o/

<<:  LiDARとTexas Instrumentsチップを搭載した最新のL3自動運転アーキテクチャの分析

>>:  1990年代生まれの中国人教授が、1年間でネイチャー誌に3本の論文を発表した。最初の量子ニューラルネットワークQuantumFlowはオープンソースです

推薦する

人間的な顧客サービスを必要とするのは高齢者だけではない

実名制やビッグデータ認識などの技術を利用することで、高齢者は北京電信のカスタマーサービスに電話する際...

調査によると、米国の公共部門のIT意思決定者の70%にとってAIは「ミッションクリティカル」

テキサス州に拠点を置くラックスペース テクノロジーズが実施した調査によると、公共部門の IT 意思決...

OpenAIの取締役会が数秒で後悔!ウルトラマン、CEOに復帰要請

たった1日で、OpenAIの取締役会は劇的に変化しました。最新のニュースによると、ウルトラマンがCE...

人工知能が本格的に登場し、企業はその挑戦に挑む準備ができている

多くの企業は、短期的には利益が見込めないため、AIパイロットプロジェクトを推進できず、AIプロジェク...

...

小売業における人工知能:生き残りは賢くなることにかかっている

機械学習は、ビジネスを急速に成長させたい小売業者にとって急速に必要不可欠なものになりつつありますが、...

マスク氏はOpenAIを訴えた。彼らはAGIを作成し、それをマイクロソフトにライセンス供与したが、これは設立協定に対する露骨な裏切りである。

つい先日、「劇的な対立に耽溺する」マスク氏は新たな行動を起こした。共同設立者の一人であるOpenAI...

AI市場は2024年までに5000億ドルを超えると予想

インターナショナル・データ・コーポレーション(IDC)が発表した最新の半期ごとの世界人工知能(AI)...

Python vs R: 機械学習とデータ分析の比較

[[187351]]新しいツールの出現を促すために、機械学習やデータ分析の分野は「オープンソース」の...

時間変換に基づく初のビデオ移行攻撃アルゴリズム、復旦大学の研究がAAAI 2022に選出

[[441526]]近年、ディープラーニングは一連のタスク(画像認識、物体認識、セマンティックセグメ...

...

人工知能が教育に力を与え、「ゼロポイント革命」が到来

[[266892]]中国共産党第19回全国代表大会の最新報告は、教育の近代化と教育の情報化の流れに対...

AIの成功には適切なデータアーキテクチャが必要

人工知能 (AI) を習得したいと考えている企業にとって、AI はコストを節約し、競争上の優位性を獲...

マスク氏はSpaceXの有能なインターンを称賛した。彼は放課後にAIを使ってElder Scrollsを解読し、Nature誌の表紙を飾った。

ネイチャーの公式サイトのトップページには、世界に衝撃を与えた最新の考古学的発見が掲載された。 200...