Ответ 1
Будучи биоинформатиком, мой выбор будет SeqAn (см. раздел индекс последовательности), Он реализует ленивое дерево суффиксов и расширенный массив суффикса (эквивалентная структура данных), оба из которых имеют хорошее поведение в кэше.
Кто-нибудь знает о действительно твердой С++-библиотеке для суффикса? Кроме того, что в Mummer?
В идеале я бы хотел:
Некоторая концепция concurrency.
Хорошее поведение кэширования.
Разрешительная лицензия.
Поддержка произвольных алфавитов.
Будучи биоинформатиком, мой выбор будет SeqAn (см. раздел индекс последовательности), Он реализует ленивое дерево суффиксов и расширенный массив суффикса (эквивалентная структура данных), оба из которых имеют хорошее поведение в кэше.
Фактически использовал, а затем забыл PATL, я хотел бы закрепить ссылку в ответе.
http://code.google.com/p/patl/
Он получил пару действительно отличных функций и, как правило, приятно читать.
Скорее всего, это учебник, но IMO стоит прочитать и с исходным кодом: http://marknelson.us/1996/08/01/suffix-trees.