1. Let's have as given a graph G(V, E) and two of its vertices x and y. Write a program that finds the shortest path between two vertices measured in number of vertices staying on the path.
2. Let's have as given a graph G(V, E). Write a program that checks whether the graph is cyclic.
3. Implement a recursive traversal in depth in an undirected graph and a program to test it.