1

サブグループを持つことができるグループがあります。サブグループは、独自のサブグループを持つことができます。この木のような構造の深さに制限はありません。

私はトライについて読んでいます、http://en.wikipedia.org/wiki/Trie。私が想定しているデータ構造はTrieに似ていますが、いくつかの違いがあるように思われます。

まず、私の場合、値はすべてのノードに関連付けられています。(たとえば、値はグループ名とグループの説明の場合があります)。Trie構造ではこれが可能ですが、すべてのノードに値が関連付けられているバリエーションのより具体的な名前があるかどうか疑問に思っています。

第二に、私は複数のルーツを持っています。これを見る別の方法は、関連する試行のコレクションがあることです。Triesのコレクションであるデータ構造の名前はありますか?

私はそれをPHPで実装しようとしています。非常に印象的なヒントがあれば。

編集:ノードを「追加」、「編集」、「削除」、「取得」できるようにしたい。(「移動」する必要はありません。)取得は非常に頻繁に発生しますが、他のアクションは発生しません。これはアプリケーション全体で最も一般的に使用される部分ではないため、パフォーマンスについてはあまり心配していません。

ありがとう!

4

1 に答える 1

2

あなたが説明したことは、実際にはトライではありません。トライは、キーの一部をノードとしてナビゲートしながら、キーを値に関連付けるステートマシンのようなものです。

あなたは一般的な根付きの木について説明しました。単純なトライも木です。木ではないトライのような構造があります。木のように見えるもののほとんどは木です。

そして、木の集合はと呼ばれます。

于 2012-11-22T03:38:24.157 に答える