web-dev-qa-db-ja.com

複雑さと検索を試す

単語のリストの trie を作成することの複雑さと、そのトライ内の他の単語のセットを検索することの複雑さは何ですか?ハッシュテーブルがある場合、文字列検索にトライを使用する必要がありますか?

25
Varun

トライを作成する複雑さはO(W*L)です。ここで、Wは単語数、LはWordの平均の長さです。実行する必要があるのはLセット内の各W単語の平均ルックアップ。

後で単語を検索する場合も同様です。L単語ごとにWステップを実行します。

ハッシュの挿入と検索の複雑さは同じです。Wordごとに、O(L)の全体的な複雑さについて、O(W*L)をとる等価性をチェックする必要があります。

単語全体を検索する必要がある場合は、ハッシュテーブルの方が簡単です。ただし、ハッシュテーブルを使用して接頭辞で単語を検索することはできません。接頭辞ベースの検索に関心がない場合は、ハッシュテーブルを使用してください。それ以外の場合は、トライを使用します。

33
dasblinkenlight