pyrival.strings

pyrival.strings.LCSubstr

pyrival.strings.LCSubstr.LCSubstr(a, b)

pyrival.strings.LPSubstr

pyrival.strings.LPSubstr.LPSubstr(s)

pyrival.strings.hashing

class pyrival.strings.hashing.Hashing(s, mod=2147483647, base1=711129903, base2=728102797)

Bases: object

get_hashes(length)
hashed(start, stop)

pyrival.strings.kmp

pyrival.strings.kmp.match(s, pat)
pyrival.strings.kmp.partial(s)
pyrival.strings.kmp.string_find(s, pat)

pyrival.strings.lcs

pyrival.strings.lcs.lcs(a, b)
pyrival.strings.lcs.lps(s)

pyrival.strings.min_rotation

pyrival.strings.min_rotation.least_rotation(s)

pyrival.strings.suffix_array

Calculates the suffix array and LCP array in O(n) time

Example: >>>> S = ‘cabbage’ >>>> SA = SAIS([ord(c) for c in S]) >>>> LCP = KASAI(S, SA) >>>> SA [1, 4, 3, 2, 0, 6, 5] >>>> LCP [1, 0, 1, 0, 0, 0]

pyrival.strings.suffix_array.KASAI(A, SA)

Calculates LCP array in O(n) time Input: String A and its suffix array SA

pyrival.strings.suffix_array.SAIS(A)

Calculates suffix array in O(len(A) + max(A)) Input: Int list A with A[i] >= 0 for all i