Какой можете посоветовать оптимальный алгоритм для поиска всех палиндромных участков в строке примерно из 281 540 876 символов? В чем искать в sql закачивать или или массив в памяти лучше быстрее? интересно сколько времени займет полный поиск.
Первое что в голову приходит, пробегая строку, ищем "ядра" палиндромных участков:
1. два символа подряд совпадают
2. два символа через один совпадают
далее находим максимально возможный палиндром каждого ядра
(4) да забабахаешься так искать!
1. устраняем избыточность текста - грубо говоря зипуем. останется примерно 10%. далее - ищем палиндромы, ибо - палиндром исходный однозначно отображается на зип.
(6) я еще наверное меньше тебя в курсе...
но как-то мне кажется раз исходный текст однозначно отображается на зип - то полиндромы исходного текста точно также должны однозначно "преобразовываться"/отражаться в зип...
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.