nitrotoluol Тебе бы не помогли понятия кольцевого хэширования и подпоследовательностей? Используешь фрейм в 15 байт. Двигаешь это окошко по тексту. Типа у нас последовательность в 15 байт, у которой с каждым шагом убирают первый байт и добавляют последний. На основе этого отлавливать появление новых подпоследовательностей. К сожалению, математически я слабоват, но может моя идея поможет тебе.
неа в данном случае и так юзается окно, и расчет хэшей займет больше времени... Как вариант, заюзал спектральный анализ байтов. Уже на порядок быстрее дело пошло...
Хм... вообще-то в LZW, т.е. в алгоритме, изуродованом м-ром Уелчем насколько я помню окно не используется. Там в словарь добавляется последняя цепочка плюс следующий символ. Соответственно упрощается и поиск в словаре, т.к. оный обладает свойством префиксности и классическое его построение - в виде дерева.
да, и вообще, поиск самых длинных цепей далеко не всегда даёт выигрыш, а ресурсов зараза жжжрёт поболей)
Я знать хочу как эту вещь решить, хорошо и красиво. А мне на этом фоне глубоко наплевать для чего её применять станут)) Хотя тему всё равно надо уже удалить. Сама задача стёрта...