I’m the author of Grokking Algorithms. Sorry for this error—Dijkstra’s algorithm does work on graphs with cycles, as long as it is a positive weight cycle. I have updated the errata page to reflect this error. Dijkstra’s doesn’t work on negative weight cycles, and here’s an image that explains why: