Names of Graph Traversal Algorithms

2019-03-08 11:32发布

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.

3条回答
劳资没心,怎么记你
2楼-- · 2019-03-08 11:54

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.

查看更多
乱世女痞
4楼-- · 2019-03-08 12:08
登录 后发表回答