サフィックスツリー内のノードの最大数と最小数はいくらですか?そして私はそれをどのように証明できますか?サフィックスツリー内のノードの最大数と最小数
答えて
入力テキストの長さがN
であると仮定すると、ルートノードとすべてのリーフノードを含むノードの最小数はN+1
であり、ルートとリーフを含むノードの最大数は2N-1
です。
最小限の保証:接尾辞ごとに少なくとも1つのリーフノードがあり、接尾辞はN
です。例は、任意の内部ノードとすることがない必要がありますテキストはユニークシンボルのシーケンス、abc$
されている場合、分岐は、得られた接尾辞木には内部ノードが故に、存在しない:
従って最小でありますN
葉、0
内部ノード、1
ルートノード、合計N+1
ノード。最大の
証明:サフィックスが終わるところリーフノードであり、あなたは長さN
の文字列内に複数N
の異なるサフィックスを持つことができないので、葉ノードの数が、N
より大きくなることはありません。実際には、常に正確にN
という別個の接尾辞があります。したがって、N
のリーフノードです。)ルートノードは常に正確に1
であるため、問題は内部ノードの最大数です。すべての内部ノードはツリー内に分岐を導入します(サフィックスツリーの内部ノードには少なくとも2つの子があるため)。新しいブランチはそれぞれ少なくとも1つの余分なリーフノードにつながる必要がありますので、K
の内部ノードがある場合は少なくともK+1
のリーフノードが必要です。ルートノードの存在には少なくとも1つの追加リーフが必要です(ツリーが空でない限り)。しかし、葉ノードの数はN
によって制限されているので、内部ノードの最大数はN-2
で制限されています。これにより、正確にN
の葉、1
のルート、および最大でN-2
の内部ノード、2N-1
が得られます。
これは理論上の上限であるだけでなく、いくつかの接尾辞ツリーが実際にこの最大値に達していることを確認するには、例として、「aaa $」という文字を繰り返した文字列を考えてみましょう。
概要:明らかなように、唯一の真の変数は内部ノードの数であり、このための接尾辞木は(根および葉を含む)7のノードを有していることを確認根と葉の数は、すべての接尾辞木に対して、1
とN
で一定ですが、内部ノードの数は0
とN-2
の間で変わります。
ありがとう!これは本当に多くの助けになります! –
- 1. 2-4ツリー最大/最小ノード数
- 2. 最小値と最大数
- 3. 最小/最大整数とダブル
- 4. リスト内の最小値と最大値(整数)を示すSchemeの関数
- 5. 剣道UIエディタの最大文字数と最小文字数
- 6. 特定のノードの次数を最小にする最小スパニングツリー
- 7. 最大変数を最小にする
- 8. ストア最小値、最大値、「シングル」変数
- 9. 保存できる最小数と最大数は?
- 10. 文字列内の数字が最大と最小の間に収まる
- 11. 最大と最小の差
- 12. 最大値と最小値の間の乱数を作成
- 13. フローごとのNetFlow、カウント最小値、中央値、最大バイト数
- 14. ツリー内の子ノードの最大数を調べる
- 15. マテリアライズCSSタグ入力の最小タグ数と最大タグ数の設定方法
- 16. 最大値と最小値?
- 17. Choco Solver配列内の最小変数と最大変数の間の距離を定義するICF制約
- 18. テーブル内のカラムの最大値と最小値
- 19. 検索の最大最小
- 20. PostgreSQLの - 最小最大エントリ
- 21. 配列の最小値と最大値
- 22. 配列の最大値と最小値
- 23. 配列の最大値と最小値
- 24. SQLクエリの最大値と最小値
- 25. 2列で最大と最小のグループ
- 26. 最小値と最大値の確認
- 27. pandas groupbyの最小行と最大行
- 28. Laravelバリデーションチェックアレイサイズの最小値と最大値
- 29. Pythonの最大値と最小値
- 30. CSSの最小幅と最大幅?
ようこそ、スタックオーバーフローと投稿ありがとうございます。あなたが試したことを示すコード(http://whathaveyoutried.com)と[How to Ask](http://stackoverflow.com/questions/how-to-ask)を見てください。 –
これはこの質問の複製です:http://stackoverflow.com/questions/12865639/maximum-and-minimum-number-of-edges-in-a-suffix-tree –
それはエッジです、私はそれを知りたいですノードのために。 実装するものは何もないので、サフィックスツリーにいくつのノードがあるのか知る必要があります。 –