Graphs in Python: representation, DFS/BFS traversal algorithms and shortest paths with Dijkstra and NetworkX.