# Explain text comparison algorithms to me

**URL:** <https://boards.straightdope.com/t/explain-text-comparison-algorithms-to-me/329437>\
**Category:** Factual Questions\
**Created:** [November 4, 2005, 6:04am UTC](https://boards.straightdope.com/t/explain-text-comparison-algorithms-to-me/329437 "2005-11-04T06:04:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cagey\_Drifter](https://avatars.discourse-cdn.com/v4/letter/c/b2d939/32.png) [@Cagey\_Drifter](https://boards.straightdope.com/u/Cagey_Drifter)\
**Post date:** [November 4, 2005, 6:04am UTC](https://boards.straightdope.com/t/explain-text-comparison-algorithms-to-me/329437/1 "2005-11-04T06:04:33Z")

</div>

Can someone explain the algorithm(s) behind text comparisons to me? diff, MS Word document compare, etc.

I found [this PDF](http://www.xmailserver.org/diff2.pdf) , but I don’t understand it.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [November 8, 2005, 12:06am UTC](https://boards.straightdope.com/t/explain-text-comparison-algorithms-to-me/329437/2 "2005-11-08T00:06:02Z")

</div>

You might try poking around the [WinMerge](http://winmerge.sourceforge.net) source code to see what they use.

---

<div class="post-metadata">

**Author:** ![Derleth](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@Derleth](https://boards.straightdope.com/u/Derleth)\
**Post date:** [November 8, 2005, 12:14am UTC](https://boards.straightdope.com/t/explain-text-comparison-algorithms-to-me/329437/3 "2005-11-08T00:14:08Z")

</div>

[The sources to GNU diff are always freely downloadable.](http://www.gnu.org/software/diffutils/diffutils.html)

---

<div class="post-metadata">

**Author:** ![Digital\_Stimulus](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@Digital\_Stimulus](https://boards.straightdope.com/u/Digital_Stimulus)\
**Post date:** [November 8, 2005, 1:52am UTC](https://boards.straightdope.com/t/explain-text-comparison-algorithms-to-me/329437/4 "2005-11-08T01:52:56Z")

</div>

Or, perhaps, [examine](http://www-igm.univ-mlv.fr/~lecroq/string/node14.html) [some](http://www.ics.uci.edu/~eppstein/161/960227.html) [algorithms](http://en.wikipedia.org/wiki/String_searching_algorithm). Their explanations are probably as good as I could do.
