Opgave

Implementeer het algoritme van Rabin-Karp. Schrijf een Python-functie eersteMatch die een tekst T en een patroon P (beide bestaande uit 0-en en 1-en). De functie geeft de index van het eerste voorkomen van het patroon P in de tekst T terug, -1 als het patroon niet in de tekst voorkomt.

Implementeer een versie van het algoritme van Rabin-Karp die werkt voor het DNA-alfabet van 4 karakters (A, T, C, G), in een Python-functie eersteMatchDNA (met parameters als hierboven).

Voorbeelden

>>> eersteMatch("0101010001", "000")
6
>>> eersteMatch("0101010101000", "000")
10
>>> eersteMatch("0100100100110", "000")
-1

>>> eersteMatchDNA("ATTATTAAA", "AAA")
6
>>> eersteMatchDNA("AATTATTATCGATTACGGA", "AAA")
-1