2013-03-21 38 views
2

我有一個對象是例如 SubObjects的表示:H1H2F1F2 其中每個H ANF F的表示特定的小對象。我希望很容易地查詢所有表示,其中有3個共同的子對象 ,例如H1,H4,F1,F2將返回,甚至H1,H2,F1,F5。當我查詢對象有3個部分的字符串表示共同爲H1,H2,F1,F2爲共同子串的高效查詢

的字符串的位置是重要的,因此H2H1F1F2是從H1H2F1F2不同。

蠻力行動計劃是不可能的,因爲我有成千上萬的這樣的字符串進行比較。正在想用某種方式通過使用後綴樹破解問題。

有沒有更有效的數據結構,我可以用來解決這個問題?

+0

他們的職位是否需要匹配或只有值?例如A X C D和A C Y D有3個匹配元素,或2? – aram90 2013-03-21 16:01:12

+0

確實位置確實很重要對不起,因爲沒有把它列出來 – 2013-03-21 18:51:04

+0

@ aram90編輯製作 – 2013-03-21 18:52:40

回答

0

正如我在我的問題所述,我訴諸使用後綴樹。這樣的樹可以讓我真正快速地查詢特定的子字符串並返回包含該特定子字符串的所有對象。我不知道是否存在更好的解決方案,但後綴樹適用於我的問題。 suffix trees: