Сообщение Re[4]: Suffix Tree от 16.07.2016 19:39
Изменено 16.07.2016 19:41 Lexey
Выкроил сегодня время и написал методы:
All() — энумератор всех суффиксов,
Contains(string) — проверка, если подстрока в дереве
ContainsSuffix(string) — проверка, если суффикс в дереве,
StartingWith(string) — энумератор всех суффиксов, начинающихся со строки
(Это вместо предложенного ранее IndexOf, ибо в случае дерева с несколькими строками просто IndexOf лишен смысла. Внутри структурки Suffix возвращается в том числе и индекс внутри исходной строки).
Позже постараюсь сделать варианты ContainsSuffix и StartingWith с масками (Contains не вижу смысла делать, ибо это будет тоже самое, что ContainsSuffix для маски с * в конце).
All() — энумератор всех суффиксов,
Contains(string) — проверка, если подстрока в дереве
ContainsSuffix(string) — проверка, если суффикс в дереве,
StartingWith(string) — энумератор всех суффиксов, начинающихся со строки
(Это вместо предложенного ранее IndexOf, ибо в случае дерева с несколькими строками просто IndexOf лишен смысла. Внутри структурки Suffix возвращается в том числе и индекс внутри исходной строки).
Позже постараюсь сделать варианты ContainsSuffix и StartingWith с масками (Contains не вижу смысла делать, ибо это будет тоже самое, что ContainsSuffix для маски с * в конце).
Re[4]: Suffix Tree
Выкроил сегодня время и написал методы:
All() — энумератор всех суффиксов,
Contains(string) — проверка, если подстрока в дереве
ContainsSuffix(string) — проверка, если суффикс в дереве,
StartingWith(string) — энумератор всех суффиксов, начинающихся со строки
(Это вместо предложенного ранее IndexOf, ибо в случае дерева с несколькими строками просто IndexOf лишен смысла. Внутри структурки Suffix возвращается в том числе и индекс внутри исходной строки).
Позже постараюсь сделать варианты ContainsSuffix и StartingWith с масками (Contains не вижу смысла делать, ибо это будет тоже самое, что ContainsSuffix для маски с * в конце).
Смотреть тут: https://github.com/rsdn/CodeJam/pull/23
All() — энумератор всех суффиксов,
Contains(string) — проверка, если подстрока в дереве
ContainsSuffix(string) — проверка, если суффикс в дереве,
StartingWith(string) — энумератор всех суффиксов, начинающихся со строки
(Это вместо предложенного ранее IndexOf, ибо в случае дерева с несколькими строками просто IndexOf лишен смысла. Внутри структурки Suffix возвращается в том числе и индекс внутри исходной строки).
Позже постараюсь сделать варианты ContainsSuffix и StartingWith с масками (Contains не вижу смысла делать, ибо это будет тоже самое, что ContainsSuffix для маски с * в конце).
Смотреть тут: https://github.com/rsdn/CodeJam/pull/23