/knuth-morris-pratt

[EN] Implementation of the Knuth-Morris-Pratt algorithm / [FR] Implémentation de l'algorithme Knuth-Morris-Pratt

Primary LanguageGoMIT LicenseMIT

License: MIT

knuth-morris-pratt

[EN]
Implementation of the Knuth-Morris-Pratt algorithm or KMP.

Knuth-Morris-Pratt is a substring search algorithm.

[FR]
Implémentation de l'algorithme de Knuth-Morris-Pratt ou KMP.

Knuth-Morris-Pratt est un algorithme de recherche de sous-chaîne.

Explanation

Technology

Usage

CLI:

go test -v test/

CODE:

import "github.com/coursecomputer/knuth-morris-pratt/source"

var index, length int
var buffer = []byte("abc abcdab abcdabcdabde")
var pattern = []byte("abcdabd") // 7
var pattern1 = []byte("abcdabdr") // 8

index = kmp.Search(buffer, pattern) // 15
index = kmp.Search(buffer, pattern1) // -1

Links

https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm
https://dev.to/girish3/string-matching-kmp-algorithm-cie
https://www.geeksforgeeks.org/kmp-algorithm-for-pattern-searching/