Algorithms and Data Structures for Coding, Indexing, and Mining of Sequential Data