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 practical, intuitive book introduces basic concepts, definitions, theorems, and examples from graph theory. KEY TOPICS: Presents a collection of interesting results from mathematics that involve key concepts and proof techniques. Covers design and analysis of computer algorithms for solving problems in graph theory. Discusses applications of graph theory to the sciences. Includes a collection of graph algorithms, written in Java, that are ready for compiling and running. MARKET: For anyone interested in learning graph theory, discrete structures, or algorithmic design for graph problems.