17

サフィックスツリーが拡張サフィックスアレイよりも優れている場合を知りたいだけです。

「サフィックス ツリーを強化されたサフィックス アレイに置き換える」を読んだ後、サフィックス ツリーを使用する理由がわかりません。一部のメソッドは複雑になる可能性がありますが、接尾辞配列を使用してすべてを行うことができ、接尾辞ツリーで実行できることと同じ時間の複雑さを必要としますが、メモリは少なくて済みます。

ある調査では、接尾辞配列の方がキャッシュにやさしく、キャッシュミスが少ないため、より高速であることが示されました (そのため、キャッシュは再帰ツリー構造よりも配列の使用をはるかによく予測できます)。

では、サフィックス配列よりもサフィックスツリーを選択する理由を知っている人はいますか?

編集 OK、もっと知っているなら教えてください、これまでのところ:

  • Suffixarray はオンライン構築を許可しません
  • 一部のパターン マッチング アルゴリズムは、Suffixtree で高速に実行されます
  • (追加) オンライン構築のため、hd a に保存し、既存の suffixtree を拡大することができます。SSD を使用する場合は、静かで高速である必要があります。
4

2 に答える 2

1

SO 自体のテーマについて、興味深い考えがいくつかあります。また、オンラインで利用可能なより多くの技術資料を見つけることもできます。これらの構造を実装する別の効率的な方法であると主張して、問題の解決に役立つ可能性のある別の論文があります。

私はこの問題の専門家ではありませんが、接尾辞配列はスペース効率が良いにもかかわらず、多少遅くなる可能性があるようです。それにもかかわらず、私はそれらの両方についてより詳細に説明するための実際的な経験を欠いています.

于 2012-06-25T18:15:47.000 に答える
-3

接尾辞ツリーが優れていることを示す別の例:

サフィックス ツリーが既にある場合は、サフィックス配列を簡単に作成できます。

しかし、接尾辞配列から接尾辞ツリーを構築するのははるかに複雑です。

于 2012-08-03T14:34:25.653 に答える