Какой алгоритм у Linux linux diff? - PullRequest
4 голосов
/ 11 февраля 2010

Вечно полезная Википедия утверждает, что diff реализует Longest Common Subsequence.

Этого не может быть. Diff, по крайней мере в режиме -y, имеет три типа отчетов: добавить, удалить и заменить. У LCS нет понятия «заменитель».

Что такое алгоритм сравнения? У меня есть причина не верить, что это расстояние Левенштейна, но я мог ошибочно проанализировать это.

1 Ответ

2 голосов
/ 11 февраля 2010

В этом ответе ( ioplex ) говорится, что GNU diff реализует "алгоритм O (ND) diff" Юджина Майерса.

...