Studying the dynamics of a large number of particles interacting through long-range forces, commonly referred to as the 'N-body problem', is a central aspect of many different branches of physics. In recent years, significant advances have been made in the development of fast N-body algorithms to deal efficiently with such complex problems. This book is the first to give a thorough introduction to these so-called 'tree methods', setting out the basic principles and giving many practical examples of their use. No prior specialist kwledge is assumed, and the techniques are illustrated throughout with reference to a broad range of applications. The book will be of great interest to graduate students and researchers working on the modelling of systems in astrophysics, plasma physics, nuclear and particle physics, condensed matter physics and materials science.