Description and analysis of a bottom-up DFA minimization algorithm
Introduction to Algorithms