2016-10-05 2 views

答えて

1

trieを使用できます。

  1. 空のトライを作成します。

  2. すべての文字列をループし、その中に配置します。

  3. トライの値をすべて順番に反復して出力します(Trie complexity and searchingを参照してください)。これは、下記のJean-BaptisteYunèsによって提案されています。

1の複雑さは一定です。 2と3のそれぞれの複雑さは、O(dn)です。

+0

3番目の点は不明です。どのように文字列がソートされているかを確認していますか? –

+0

@SauravSahuこれは非常に単純な再帰関数です([ここ](http://stackoverflow.com/questions/13685687/how-to-print-all-words-in-a-を参照)トライ)実装)。ノードから開始し、現在のプレフィックスを追跡しながら、すべての子を順番に再帰的に訪問します。葉を打つと、パスに沿って合計文字列が出力されます。 –

+0

補足:http://stackoverflow.com/questions/13032116/trie-complexity-and-searching –

関連する問題