An introduction to formal languages and automata - Linz, Peter (Jones & Bartlett Learning, 2012)
Data Structures & Theory of Computation