If you have already taken a course in algorithms, why read Grokking Algorithms (manning.com/bhargava)?
If you were learning graph algorithms, which approach would you prefer:
Imagine you have to take public transit from your home to your office. How do you figure out the fastest route? Use graph algorithms! OR
We can choose between two standard ways to represent a graph G = (V, E): as a collection of adjacency lists or as an adjacency matrix. Either way applies to both directed and undirected graphs.
I prefer the first way: lead with lots of examples, and clear writing. The second way is an excerpt from "Introduction to Algorithms"...that's how they start their section on graph algorithms.