This is the third edition of the classic textbook on the subject, and it is even more relevant to students of, and researchers in, mathematics than ever before. With its clear writing, strong organization, and comprehensive coverage of essential theory it is like a personal guide through this important topic. The book contains proofs of important results and the representation of key algorithms in a Pascal-like notation that allow this book to be used in a high-level undergraduate or low-level graduate course on graph theory, combinatorial optimization or computer science algorithms. The well-worked solutions to exercises provide a rich seam of material for self-study by students. This new edition contains additional material including two new application sections (on graphical codes and their decoding) and a number of extra exercises (with solutions, as throughout the text). What's more, recent developments have been discussed and referenced, in particular for the traveling salesman problem.