Skip to content

Latest commit

 

History

History
88 lines (50 loc) · 3.45 KB

File metadata and controls

88 lines (50 loc) · 3.45 KB

String algorithms

Table of contents


Lexicographically minimal string rotation

Lexicographically minimal rotation if the rotation of a string possessing the lowest lexicographical order of all its rotations.

🔗

Duval’s based algorithm

📝

  • This algorithm is also known as the Zhou Yuan’s minimal expression algorithm.

🔗


Lyndon factorization

Lyndon word is a (non-empty) string that is strictly smaller in lexicographic order than all of its rotations. Lyndon factorization is a decomposition of a string s into Lyndon words, s = w1w2...wn, such that w1 ≥ wi ≥ ... ≥ wn.

🔗

Duval’s algorithm

🔗

📄


String matching

📖

  • Ch. 32. String matching – T.H.Cormen, C.E.Leiserson, R.L.Rivest, C.Stein. Introduction to algorithms (2009)
  • Ch. 19: String searching – R.Sedgewick. Algorithms (1983)
  • Ch. 13: String matching – Drozdek A. Data structures and algorithms in C++ – Cengage Learning (2012)

Exact string matching

📖

  • Sec. 13.1: Exact string matching – Drozdek A. Data structures and algorithms in C++ – Cengage Learning (2012)

Knuth–Morris–Pratt algorithm

🔗

🎥

📖

  • Ch. 32. String matching – T.H.Cormen, C.E.Leiserson, R.L.Rivest, C.Stein. Introduction to algorithms (2009)
  • Ch. 19: String searching, Sec.: Knuth–Morris–Pratt algorithm – R.Sedgewick. Algorithms (1983)
  • Sec. 6.4.2: Knuth–Morris–Pratt’s (KMP) algorithm – S.Halim, F.Halim. Competitive programming (2013)
  • Sec. 13.1.2: The Knuth–Morris–Pratt algorithm – Drozdek A. Data structures and algorithms in C++ – Cengage Learning (2012)