Как наиболее эффективно проверить, отличаются ли две строки? - PullRequest
0 голосов
/ 07 января 2011

У меня есть две очень большие строки. Как я могу сравнить их, чтобы определить, идентичны ли они или один из них отличается от другого? (Таким образом, я могу оставить идентичные строки в покое и обработать те, которые были изменены).

Ответы [ 2 ]

3 голосов
/ 07 января 2011

Самый эффективный способ - сделать:

$string1 == $string2

Он выполняет побитовое сравнение строк, поэтому должно быть в худшем случае O(n), где n - эторазмер меньшей строки.Я не думаю, что вы станете намного лучше, чем это (если не следить за строками и если они были изменены, но при формулировке вашего вопроса кажется, что все, что вы хотите сделать, это сравнить их).

2 голосов
/ 07 января 2011

Вы можете сравнить значения хеш-функции или создать класс-оболочку, содержащую рассматриваемую строку и флаг «изменен», установленный на true каждый раз, когда строка изменяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...