Trees are among the most fundamental and ubiquitous structures in mathematics and computer science. The notion of "tree" appears in many seemingly different areas from graph theory to universal algebra to logic. Tree languages and automata on trees have been studied extensively since the 1960s from both a purely mathematical and application point of view. Though the theory of tree automata and tree languages may have come into existence by generalizing string automata and languages, but it could not have stayed alive for long as a mere generalization. Apart from its intrinsic interest, this theory has found several applications and offers new perspectives to various parts of mathematical linguistics. It has been applied to the study of databases and XML schema languages, and provides tools for syntactic pattern recognition. When trees are defined as terms, universal algebra becomes directly applicable to tree automata and tree languages and, on the other hand, the theory of tree automata and tree languages suggests new notions and problems to universal algebra. In this book, the theory has been studied from the algebraic viewpoint.