0

私はこれらのようにいくつかのシーケンスを持っています

(100) - (102) - (103) - (104,106) - (108)
(101) - (103)
(102) - (106)

C ++でプレフィックスツリーまたはfpツリーなどの効率的な実装がありますか?

4

2 に答える 2

1

あなたが何を言っているのかわかりません...しかし、FPツリーを構築する必要がある場合は、ここが私が見つけた最良のページです

FP ツリー アルゴリズム

于 2011-12-31T13:17:11.500 に答える
0

指定されたデータが標準的な表記法ではないように見えるため、正確に何を持っているかは明確ではありません。

接頭辞が、整数値間で最初に共有される数桁の 10 進数に過ぎない場合、おそらくデータ ストレージに大きな違いはありません。100値をデータ構造に挿入する前に減算し、値を として保存しchar、取得後に 100 を加算することもできますが、おそらくその労力に見合う価値はありません。

おそらく、要素がソートされるstd::deque< std::vector< int > >場所としてシーケンスのシーケンスを保存する必要があります。vector私が見ることができないか、問題を誤解しているパターンがない限り、特定の数を含むシーケンスを見つける際の最適なパフォーマンスは、シーケンスの長さの O(lg N) 倍のシーケンス数で O(N) でなければなりません.

于 2011-12-03T13:46:11.883 に答える