私はこれらのようにいくつかのシーケンスを持っています
(100) - (102) - (103) - (104,106) - (108)
(101) - (103)
(102) - (106)
C ++でプレフィックスツリーまたはfpツリーなどの効率的な実装がありますか?
私はこれらのようにいくつかのシーケンスを持っています
(100) - (102) - (103) - (104,106) - (108)
(101) - (103)
(102) - (106)
C ++でプレフィックスツリーまたはfpツリーなどの効率的な実装がありますか?
あなたが何を言っているのかわかりません...しかし、FPツリーを構築する必要がある場合は、ここが私が見つけた最良のページです
指定されたデータが標準的な表記法ではないように見えるため、正確に何を持っているかは明確ではありません。
接頭辞が、整数値間で最初に共有される数桁の 10 進数に過ぎない場合、おそらくデータ ストレージに大きな違いはありません。100
値をデータ構造に挿入する前に減算し、値を として保存しchar
、取得後に 100 を加算することもできますが、おそらくその労力に見合う価値はありません。
おそらく、要素がソートされるstd::deque< std::vector< int > >
場所としてシーケンスのシーケンスを保存する必要があります。vector
私が見ることができないか、問題を誤解しているパターンがない限り、特定の数を含むシーケンスを見つける際の最適なパフォーマンスは、シーケンスの長さの O(lg N) 倍のシーケンス数で O(N) でなければなりません.