mirror of
https://github.com/krahets/hello-algo.git
synced 2026-11-02 11:15:19 +08:00
* Retranslate the complete Japanese online edition from Chinese * Fit Japanese homepage labels and localize heading permalinks * Point Japanese contribution instructions to the Japanese preview * Replace locale conditionals with multilingual UI tables
1.7 KiB
1.7 KiB
まとめ
要点の振り返り
- 二分探索はデータが整列されていることを利用し、ループで探索区間を半分ずつ縮めながら探索します。入力データが整列済みであることが必要であり、配列または配列に基づくデータ構造にのみ適用できます。
- 全探索はデータ構造を走査してデータを見つけます。線形探索は配列や連結リストに、幅優先探索と深さ優先探索はグラフや木に適しています。これらは汎用性が高く、データの前処理も不要ですが、時間計算量
O(n)は大きいです。 - ハッシュ探索、木探索、二分探索は効率的な探索方法であり、特定のデータ構造の中から目的の要素を素早く見つけられます。時間計算量は $O(\log n)$、さらには
O(1)にもなりますが、通常は補助的なデータ構造が必要となります。 - 実際には、データの規模、求められる探索性能、データの照会や更新の頻度などを具体的に分析して、適切な探索方法を選ぶ必要があります。
- 線形探索は小規模または頻繁に更新されるデータに、二分探索は大規模で整列済みのデータに適しています。ハッシュ探索は照会の効率が求められ、範囲検索を必要としないデータに、木探索は順序の維持と範囲検索が必要な大規模で動的なデータに適しています。
- 線形探索をハッシュ探索に置き換えることは、実行時間を改善するためによく使われる戦略であり、時間計算量を
O(n)からO(1)に減らせます。