Course Content

The Knuth-Morris-Pratt algorithm, the Boyer-Moore and Karp-Rabin algorithms and FFT-based algorithms for static string matching. [8 Lectures]

Suffix trees, suffix arrays and LCP arrays, their constructions and applications (in finding longest common substring, shortest unique substring, suffix/prefix overlaps, Lempel-Ziv factorization, etc.) [14 Lectures]

Succinct data structures and compressed text indexing: rank and select queries on bit vectors and sequences, Range minimum queries, Wavelet trees, Compressed suffix arrays, Burrows-Wheeler Transform and FM Index, compressed LCP arrays. [12 Lectures]

NP-hard problems and approximations: longest common substring (over multiple strings) median string problem, shortest superstring problem, etc. [8 lectures]

Text Books

  1. Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology by Dan Gusfield, Cambridge University Press, 2005. ISBN: 978-0521670357
  2. Compact Data Structures: A Practical Approach 1st Edition by Gonzalo Navarro, Cambridge University Press, 2016. ISBN: 978-1107152380.

Past Offerings

Course Metadata

Item Details
Course Title Data Structures and Algorithms on Strings
Course Code CS5022
Course Credits 3-0-0-3
Course Category PME
Proposing Faculty Venkatesh Raman (Faculty, IMSc Chennai) and Krithika Ramaswamy
Approved on Senate 30 of IIT Palakkad
Course status New