The project aims to add the following two algorithms in pgRouting:

Depth First Search: It is the implementation of a standard graph traversal algorithm, and has been implemented in Boost Graph Library as two different algorithms - boost::depth_first_search for directed graphs and boost::undirected_dfs for undirected graphs. One of its applications is to find a path in the graph from a source vertex to all other vertices. It has a linear time complexity of O(|V| + |E|).

Sequential Vertex Coloring: It is an algorithm to compute the vertex coloring of a graph. This involves assigning colors to the vertices of a graph sequentially in such a way that no two adjacent vertices have the same color. It has been implemented in the Boost Graph Library as boost::sequential_vertex_coloring for undirected graphs. One of its applications is to do a proper coloring of the graph or to check if a graph is bipartite. It has a time complexity of O(|V| * (d + k)), where |V| is the number of vertices, d is the maximum degree of the vertices in the graph, and k is the number of colors used.

The project also analyzes the behavior of several algorithms after ordering the input rows in a particular order.



Ashish Kumar


  • Cayetano Benavent
  • Daniel Kastl