3

ウィキペディアの トライについて:

[HashTable との比較] 順序付けられた反復をサポートする試行

ここでまず何を言っているのかよくわかりません。ソートされた反復と同じですか?
さらに、これはこのデータ構造の固有の機能であるはずですか?
つまり、たとえば aHashSetの各ノードの子に aを使用すると、分岐する子を見つけようとするか、ノードのスペースを節約するためにアクセスTrieできます。 おそらく私は間違っているかもしれませんが、私の観点からは、反復をサポートする唯一の方法は、ノードごとにすべてのキーの配列を未使用のままにしておくことです。 このアプローチは悪くないですか? 最後 にもう 1 つ:O(1)LinkedList
ordered


orderedこれは挿入順序に関連しています(ソートされていません)。各単語を(文字をキーとして使用して)対応するノードに挿入するので、どのようにそれを取得しますか?
誰かが私の心の中でこれらのことをクリアするのを手伝ってくれませんか?
ありがとうございました。

4

2 に答える 2

3

彼らが意味することは、トライの深さ優先検索は、トライ内の文字列の辞書編集的に順序付けられた出力をもたらすということです。

しかし、そうです、これは、特定のレベルのすべての兄弟ノードが辞書編集順序でアクセスされることを前提としています。これは、特に大きなアルファベットでは、ハッシュテーブルを介して子ノードテーブルを実装することが理にかなっている場合には、与えられたものとはほど遠いものです。

要約すると、あなたの疑問は正当であり、ウィキペディアの記事は間違っていると思います。

しかし、子ノードが順序付けられていなくても、トライに対する辞書式に順序付けられた反復は手頃な価格であることに注意する価値があります。反復中にそれらを順序付けることは比較的安価であると予想されるためです。各トライノードには子ノードがほとんどないため、全体的にトライを反復するパフォーマンスは、依然として O( n ) の予想時間内になります。ハッシュ テーブルとは対照的に、順序付けされた反復は、すべての要素の並べ替えを効果的に意味します。O( n log n ) 操作です。

于 2012-05-24T15:38:16.730 に答える
0

ソートされたという意味です。余分な努力なしに広告掲載オーダーを試すことはできません。固有の機能が何を意味するのか正確にはわかりません。実装はそれを提供する (または内部へのアクセスを提供する) 必要がありますが、そうするのは簡単です。

于 2012-05-24T15:32:23.137 に答える