Adaptive Processing of Sequences and Data Structures