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.