About the Book: This book provides a rigorous, proof-based introduction to graph theory and its applications, suitable for senior undergraduates or beginning graduate students. Covering combinatorial concepts, optimization problems, algebraic graph theory, and linear programming, it includes topics such as trees, Eulerian and Hamiltonian paths, flows, graph coloring, Markov chains, spectral clustering, and PageRank.