mindmap root((Network Graph Analysis)) Shortest_Paths["Find Shortest Paths?"] Shortest_Paths_Alg["Algorithms"] A["shortest_path"] B["all_shortest_paths"] C["A* Algorithm"] Community_Detection["Community Detection?"] Community_Detection_Alg["Algorithms"] D["Louvain Community Detection"] E["K-Clique"] F["Label Propagation"] Connectivity["Analyze Connectivity?"] Connectivity_Alg["Algorithms"] G["Edge-augmentation"] H["K-edge-components"] I["Flow-based Connectivity"] Network_Structure["Analyze Network Structure?"] Network_Structure_Alg["Algorithms"] J["Degree Centrality"] K["Closeness Centrality"] L["Betweenness Centrality"] Graph_Structure["Explore Graph Structure?"] Graph_Structure_Alg["Algorithms"] M["Depth First Search"] N["Breadth First Search"] O["Beam Search"] Network_Robustness["Evaluate Network Robustness?"] Network_Robustness_Alg["Algorithms"] P["Percolation Theory"] Q["Network Attack Strategies"] Network_Flow["Optimize Network Flow?"] Network_Flow_Alg["Algorithms"] R["Ford-Fulkerson Algorithm"] S["Edmonds-Karp Algorithm"] Dynamic_Network["Dynamic Network Analysis?"] Dynamic_Network_Alg["Algorithms"] T["Temporal Network Analysis"] U["Dynamic Community Detection"] Link_Prediction["Link Prediction?"] Link_Prediction_Alg["Algorithms"] V["Probabilistic Models"] W["Machine Learning Approaches"] Multiplex_Network["Multilayer/Multiplex Network Analysis?"] Multiplex_Network_Alg["Algorithms"] X["Interlayer Connectivity Analysis"] Y["Multiplex PageRank"] Other_Goals["Other Analysis Goals?"] Other_Goals_Alg["Consider Other Specific NetworkX Algorithms"]
In the previous chapter we have seen how to create a graph and how to add nodes and edges to it. In this chapter we will go through some of the most important algorithms and data structures that are used in graph theory. We will also see how to use them in NetworkX.
Graph Algorithms
Below you can see a mind map of the most important graph algorithms. We will go through each of them in detail in the following sections.