JoeKarlsson/data-structures

View on GitHub
rabin-karp/README.md

Summary

Maintainability
Test Coverage
# Rabin- Karp

## String Searching Algorithm

String matching algorithms are pervasive in software. One particularly fun one, is Rabin Karp, which is used in Plagiarism detection. As a student in CS (or in any major), plagiarism detection should be of interest ;-)

![rabin-karp-basic-principles](https://cloud.githubusercontent.com/assets/4650739/25076866/79d441d6-22c0-11e7-8cf1-6af40e7cecff.png)

Rabin Karp is relatively easy to implement. See this:

* [Rabin–Karp algorithm - Wikipedia](https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm)

Rabin Karp has also inspired a string matching routine in Zlib (one of the most popular un/zip libraries ever). See this, directly into the source code.