2013-03-21 2 views
2

У меня есть представление объекта является, например SubObjects: H1, H2, F1, F2 , где каждый из H НФА F представляют конкретный меньший объект. Я хочу легко запросить все представления, у которых есть 3 подобъекта в целом , например, H1,H4,F1,F2 будет возвращен обратно, даже H1,H2,F1,F5. когда я запрашиваю объекты, которые имеют 3 части строкового представления, общего для H1, H2, F1, F2.Эффективных запрашивая общие подстроки

Положение строки Поэтому важно H2, H1, F1, F2 отличается от H1, H2, F1, F2.

План действий грубой силы невозможен, поскольку у меня есть тысячи таких строк для сравнения. Думал о каком-то способе взлома проблемы, используя деревья суффиксов.

Есть ли более эффективная структура данных, которую я могу использовать для решения проблемы?

+0

Должны ли их позиции соответствовать или только значениям? Например, A X C D и A C Y D имеют 3 совпадающих элемента или 2? – aram90

+0

действительно позиция действительно жаль, что ее не перечислили –

+0

@ aram90 edit made –

ответ

0

Как я сказал в своем вопросе, я прибегал к использованию суффиксов. Такие деревья могут позволить мне очень быстро запросить дерево для конкретных подстрок и вернуть все объекты, содержащие эту конкретную подстроку. Я не знаю, существует ли лучшее решение, но деревья суффикса хорошо работали для моей проблемы. suffix trees:

Смежные вопросы