Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel...

24
Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laola im Text x = olalaolala folgende Übergänge: o l a l a o l a l a 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 10 k 1 2 3 4 5 π(k ) 0 0 0 1 2

Transcript of Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel...

Page 1: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10

o l a l a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 2: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o

l a l a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 3: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o

l a l a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 4: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l

a l a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 5: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l

a l a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 6: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a

l a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 7: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a

l a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 8: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l

a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 9: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l

a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 10: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l

a o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 11: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a

o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 12: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a

o l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 13: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o

l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 14: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o

l a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 15: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l

a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 16: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l

a l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 17: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l a

l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 18: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l a

l a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 19: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l a l

a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 20: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l a l

a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 21: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l a l

a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 22: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l a l

a

k 1 2 3 4 5π(k) 0 0 0 1 2

Page 23: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l a l a k 1 2 3 4 5

π(k) 0 0 0 1 2

Page 24: Der Knuth-Morris-Pratt-Algorithmus - hu-berlin.de · Der Knuth-Morris-Pratt-Algorithmus Beispiel Der KMP-Algorithmus macht bei der Suche nach dem Muster y = laolaim Text x = olalaolalafolgende

Der Knuth-Morris-Pratt-Algorithmus

BeispielDer KMP-Algorithmus macht bei der Suche nach dem Muster y = laola imText x = olalaolala folgende Übergänge:

o l a l a o l a l a0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10o l a l a o l a l a k 1 2 3 4 5

π(k) 0 0 0 1 2