简体   繁体   中英

Names of Graph Traversal Algorithms

What I'm looking for is a comprehensive list of graph traversal algorithms, with brief descriptions of their purpose, as a jump off point for researching them. So far I'm aware of:

  • Dijkstra's - single-source shortest path
  • Kruskal's - finds a minimum spanning tree

What are some other well-known ones? Please provide a brief description of each algorithm to each of your answers.

A few off of the top of my head:

Depth-first and Breadth-first traversals, really just two different ways of touching all of the nodes.

Floyd-Warshall algorithm finds the shortest paths between any pair of points, in (big-theta)(v^3) time.

Prim's algorithm is an alternative to Kruskal's for MST.

There are also algorithms for finding fully connected components, which are groups of nodes where you can get from any member in the component to any other member. This only matters for "directed graphs", where you can traverse an edge only one direction.

Personally, I think the coolest extension of graph theory (not exactly related to your question, but if you're interested in learning more about graphs in general its certainly worth your while) is the concepts of "flow networks": http://en.wikipedia.org/wiki/Flow_network . It is a way of computing about, say, how much electricity can one distribute over houses with a variety of power needs and requirements, and a variety of power stations.

Graph algorithms

All algorithms in one place

Dictionary of algorithms and data structures:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM