Tôi đã trông như điên vì một lời giải thích về một thuật toán khác biệt hoạt động và hiệu quả.
Gần nhất tôi nhận được là liên kết này đến RFC 3284 (từ một số bài đăng trên blog của Eric Sink), mô tả bằng thuật ngữ hoàn toàn dễ hiểu định dạng dữ liệu trong đó các kết quả khác nhau được lưu trữ. Tuy nhiên, nó không đề cập đến bất cứ điều gì về cách một chương trình sẽ đạt được những kết quả này trong khi thực hiện một khác biệt.
Tôi đang cố gắng nghiên cứu điều này vì tò mò cá nhân, bởi vì tôi chắc chắn phải có sự đánh đổi khi thực hiện thuật toán diff, đôi khi khá rõ ràng khi bạn nhìn vào diffs và tự hỏi "tại sao chương trình diff lại chọn điều này như một sự thay đổi thay vì đó?"...
Tôi có thể tìm thấy mô tả về một thuật toán hiệu quả mà cuối cùng xuất ra VCDIFF ở đâu?
Nhân tiện, nếu bạn tình cờ tìm thấy một mô tả về thuật toán thực tế được sử dụng bởi DiffMerge của SourceGear, điều đó còn tuyệt vời hơn nữa.
LƯU Ý: chuỗi con phổ biến dài nhất dường như không phải là thuật toán được sử dụng bởi VCDIFF, có vẻ như họ đang làm gì đó thông minh hơn, với định dạng dữ liệu họ sử dụng.