При управлении версиями или оптимизации резервных копий файлов одна идея - использовать только дельту или данные, которые были изменены.
Это звучит как простая идея сначала, но на самом деле определение того, где заканчиваются неизмененные данные и начинаются новые, оказывается сложной задачей.
Существует ли существующая структура, которая уже делает что-то подобное, или эффективный алгоритм сравнения файлов?