Hirschberg's algorithm to recover full sequence alignments in linear space. Generic header-only implementation which takes a cost function which can be e.g. Longest Common Subsequence (LCS), Needleman-Wunsch, Damerau-Levenshtein, or any other similar dynamic programming algorithm for sequences.