Эффективность обнаружения палиндрома

Мне стало любопытноНеудачное интервью с Джоном Лимджапом и начал искать эффективные способы обнаружения палиндрома. Я проверилпалиндром гольф ответы, и мне кажется, что в ответах есть только два алгоритма, обращая строку и проверяя хвост и голову.

def palindrome_short(s):
    length = len(s)
    for i in xrange(0,length/2):
        if s[i] != s[(length-1)-i]: return False
    return True

def palindrome_reverse(s):
    return s == s[::-1]

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

Хорошим способом может быть распараллеливание первой версии в подходе «разделяй и властвуй», назначая пару массивов символов 1..n и length-1-n..length-1 для каждого потока или процессора.

Что было бы лучше?

Вы знаете кого-нибудь?

Ответы на вопрос(9)

Ваш ответ на вопрос