For junior- to senior-level courses in Graph Theory taken by majors in Mathematics, Computer Science, or Engineering or for beginning-level graduate courses. Once considered an "unimportant" branch of topology, graph theory has come into its own through many important contributions to a wide range of fields - and is now one of the fastest-growing areas in discrete mathematics and computer science. This new text introduces basic concepts, definitions, theorems, and examples from graph theory. The authors present a collection of interesting results from mathematics that involve key concepts and proof techniques; cover design and analysis of computer algorithms for solving problems in graph theory; and discuss applications of graph theory to the sciences. It is mathematically rigorous, but also practical, intuitive, and algorithmic.