Реализация алгоритма O(ND) из работы 1986, Myers для 2-way merge не даёт конкурентного преимущества,
потому что O(ND)-алгоритм сравнивает файлы парами (A, O), (B, O), а не все три файла сразу.
Как реализовывать O(ND) сравнение на C#, есть статья 20060314, Hertel (http://www.mathertel.de/diff/).
Конкурентного преимущества он не даёт, потому что приводит к неоптимальным результатам,
как описано в работе 2007, Khanna
Поэтому имеет смысл реализовывать алгоритм SDiff3 (Similarity-Based State-Based Synchronizer) из работы 2015, Autexier
Всего нужно прочитать 94 страницы + 45 для tree diff, норматив скорости перевода для профессионалов - 10 страниц в день (*),
для понимания, возможно, потребуется читать что-то ещё, поэтому для оценки возьмем 5 страниц в день. 95 страниц = 19 дней на изучение области
( хотя есть оценка в 1 месяц - http://c2.com/cgi/wiki?DiffAlgorithm,
если 21 рабочий день, то похоже )
объём кода будет ~5000 строк, 10 строк в день пишут в среднем, гениальные программисты в 10 раз быстрее обычных, итого +50 дней.
2003, Yuan Wang David J. DeWitt Jin-Yi Cai, X-Diff: An Effective Change Detection Algorithm for XML Documents, University of Wisconsin – Madison, WI, U.S.A.
1995-01, David T. Barnard, Gwen Clarke, Nicholas Duncan, "Tree-to-tree Correction for Document Trees", Technical Report 95-372, Department of Computing and Information Science
Queen's University, Kingston, Ontario K7L 3N6, Canada