[アルゴリズム]検索アルゴリズム
921 ワード
アルゴリズムベース入門のために学ぶDO IT!資料構造とともに学ぶアルゴリズム入門:Python編で新しい知識をまとめる
1.検索アルゴリズムの種類
線形探索:ランダムデータセットで一意の探索を実行する方法 バイナリ検索:固定ルールを持つデータセットで を迅速に検索する方法ハッシュアルゴリズム:頻繁にデータを追加および削除するデータセットでデータを迅速に検索する方法
-チェーン:同じハッシュ値データを接続リストに接続します.
-オープン・アドレス法:データのハッシュ値が競合する場合、災害発生時は
2.線形検索(配列検索)
(検索失敗)で並べ替えられた末尾. (検索成功)キー値と同じ要素が見つかりました.
:線形検索の終了条件は、データ量が多いほどコストが高くなることです.
:検索が終点に到達したかどうかを判断するほか、線形検索の費用を半減することもできます.
1.検索アルゴリズムの種類
1-1. サーチ配列
-チェーン:同じハッシュ値データを接続リストに接続します.
-オープン・アドレス法:データのハッシュ値が競合する場合、災害発生時は
1-2. 接続リストの検索
1-3. バイナリ検索ツリー検索
2.線形検索(配列検索)
:一番前のスキャンから要素の検索までの順序検索アルゴリズム
2-1. 終了条件
2-2. ホイッスルほう
:線形検索の終了条件は、データ量が多いほどコストが高くなることです.
:検索が終点に到達したかどうかを判断するほか、線形検索の費用を半減することもできます.
검색 키 값을 배열의 마지막에 추가하여, 검색이 맨끝에 도달했는 지 판단하는데 드는 비용을 줄일 수 있다.
def seq_search(arr:Sequence, key:Any) -> int :
a = copy.deepcopy(arr)
a.append(key)
for i in range(len(arr)):
if arr[i] == key :
return -1 if i == len(arr)-1 else i
Reference
この問題について([アルゴリズム]検索アルゴリズム), 我々は、より多くの情報をここで見つけました https://velog.io/@gsh723/알고리즘-검색-알고리즘テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol