我只想知道,當後綴樹優於增強後綴數組。後綴數組與後綴樹
看完Replacing suffix trees with enhanced suffix arrays我沒有看到再使用後綴樹的理由。有些方法可能會變得複雜,但您可以使用後綴數組完成所有工作,可以使用後綴樹執行什麼操作,並且需要相同的時間複雜性,但內存較少。
一個survey甚至表明,該後綴陣列的速度更快,因爲它們緩存友好的,並且不產生儘可能多的高速緩存未命中,那麼後綴樹(因此緩存能夠預測陣列的使用要好得多,然後在遞歸樹結構)。
那麼,有沒有人知道選擇一個後綴樹超過後綴數組的原因?
編輯 好吧,如果你知道更多的告訴我,至今它:
- Suffixarrays不要讓上線建設
- 一些模式匹配算法運行
- (加在Suffixtrees 快)由於在線建設,您可以將它保存在hd a上並放大現有的後綴樹。如果你使用SSD,它應該安靜快速。
更簡單的實施? –
只是一個猜測,但後綴樹可能在實際實現中的內存方面更小。 – Justin
@Justin:不,實際上增強後綴數組會消耗更少的內存,這正是鏈接文件的全部關於 –