Algorithms_in_C++ 1.0.0
Set of algorithms implemented in C++.

Files  
boyer_moore.cpp  
The Boyer–Moore algorithm searches for occurrences of pattern P in text T by performing explicit character comparisons at different alignments. Instead of a bruteforce search of all alignments (of which there are n  m + 1), Boyer–Moore uses information gained by preprocessing P to skip as many alignments as possible.  
brute_force_string_searching.cpp  
String pattern search  brute force.  
horspool.cpp  
Horspool's algorithm that finds if a string contains a substring (https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore%E2%80%93Horspool_algorithm)  
knuth_morris_pratt.cpp  
The KnuthMorrisPratt Algorithm for finding a pattern within a piece of text with complexity O(n + m)  
manacher_algorithm.cpp  
Implementation of Manacher's Algorithm  
rabin_karp.cpp  
The RabinKarp Algorithm for finding a pattern within a piece of text with complexity O(n + m)  
z_function.cpp  
The Z function for finding occurences of a pattern within a piece of text with time and space complexity O(n + m)  