algorithm associative array backtracking bellman equation bioinformatics bottom-up brute force chart parser clifford stein clique-width common lisp computer chess computer science constant time context-free grammar correspondence problem directed acyclic graph duckworth-lewis method dynamic programming language dynamic time warping engineering greedy algorithm hidden markov model interval scheduling introduction to algorithms knapsack problem levenshtein distance longest common subsequence problem longest common substring problem markov decision process mathematica mathematics memoization nancy stokey needleman-wunsch algorithm on-line encyclopedia of integer sequences optimal substructure overlapping subproblem partition problem perl programming language rna structure selinger sequence alignment shortest path problem structural alignment subset sum problem systems analysis transposition table travelling salesman problem tree decomposition tree structure viterbi algorithm word wrap