二分探索に適したテーブルの格納方法と要素配置要件は何ですか?

青灯夜游
リリース: 2020-08-31 15:27:47
オリジナル
14549 人が閲覧しました

二分探索に適したテーブルの格納方法と要素の配置要件は、順次格納であり、要素が順序どおりであることです。二分検索はより効率的な検索方法であり、線形テーブルが順次ストレージ構造を採用し、テーブル内の要素がキーワード順に配置されている必要があります。

二分探索に適したテーブルの格納方法と要素配置要件は何ですか?

二分探索は二分探索(Binary Search)とも呼ばれ、より効率的な検索方法です。ただし、二分探索では、線形テーブルが逐次記憶構造を採用し、テーブル内の要素がキーワード順に配置されている必要があります。

まず、表の要素が昇順に並んでいると仮定して、表の中央に記録されているキーワードと検索キーワードを比較し、両者が等しい場合は検索成功、そうでない場合は、中間位置のレコードを使用してテーブルを 1 番目、2 番目、3 番目に分割します。後の 2 つのサブテーブルでは、中間位置に記録されたキーワードが検索キーワードより大きい場合、前のサブテーブルがさらに検索されます。それ以外の場合は、後者のサブテーブルがさらに検索されます。条件を満たすレコードが見つかって検索が成功するまで、またはサブテーブルが存在しない場合は検索が失敗するまで、上記のプロセスを繰り返します。

アルゴリズム要件

1. 順次ストレージ構造を使用する必要があります。

2. キーワードのサイズに応じて順番に並べる必要があります。

比較回数

計算式:

配列表にキーワードがn個ある場合:

検索に失敗した場合、キーワード比較の最小回数は a 回で、検索が成功した場合、キーワード比較の最大回数は b です。

注: a、b、n はすべて正の整数です。

解説

半分割探索法は二分探索法とも呼ばれ、要素間の順序関係を利用した分割統治戦略を採用しています。最悪の場合でも問題を解決するため、検索タスクは O(log n) で完了します。その基本的な考え方は次のとおりです: (配列要素が昇順に配置されていると仮定して) n 個の要素をほぼ同じ数で 2 つの半分に分割し、a[n/2] を取得し、それを探したい x と比較します (x= の場合)。 a[n/ 2] の場合、x が見つかり、アルゴリズムは終了します。x

関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。

以上が二分探索に適したテーブルの格納方法と要素配置要件は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート