56 const std::string
text =
"ababaabababa";
57 const std::string pattern =
"ababa";
62 std::cout <<
"KMP Example\n";
63 std::cout <<
"Text : " <<
text <<
"\n";
64 std::cout <<
"Pattern: " << pattern <<
"\n\n";
66 std::cout <<
"Prefix function: ";
67 for (
size_t i = 0; i < pi.size(); ++i)
68 std::cout << pi[i] << (i + 1 == pi.size() ?
'\n' :
' ');
70 std::cout <<
"Matches at positions: ";
71 for (
size_t i = 0; i <
matches.size(); ++i)
Classical pattern searching algorithms over strings.
int main()
Example program demonstrating KMP prefix computation and pattern search.
Main namespace for Aleph-w library functions.
Divide_Conquer_DP_Result< Cost > divide_and_conquer_partition_dp(const size_t groups, const size_t n, Transition_Cost_Fn transition_cost, const Cost inf=dp_optimization_detail::default_inf< Cost >())
Optimize partition DP using divide-and-conquer optimization.
Array< size_t > kmp_search(const std::string_view text, const std::string_view pattern)
Find all occurrences of a pattern using KMP.
Array< size_t > kmp_prefix_function(const std::string_view pattern)
Prefix-function used by KMP.