public static Graph randomTree3() {

		int depth = 10;

		Graph graph = new Graph(depth * 50, depth * 50);

		int a = 0;
		int b = 1;
		int c = 0;
		graph.addVertex(new Vertex(c++, 25 + 25 * (depth - 1), 25));
		for (int i = 1; i < depth; i++) {
			for (int j = 0; j <= i; j++) {
				graph.addVertex(new Vertex(c++, 25 + 25 * (depth - i - 1) + 50
						* j, 25 + 50 * i));
			}
			graph.addEdge(b, a);
			for (int j = b + 1; j < c - 1; j++) {
				if (Math.random() < 0.5)
					graph.addEdge(j, a + j - b);
				else
					graph.addEdge(j, a + j - b - 1);
			}
			graph.addEdge(c - 1, a + c - b - 2);
			a = b;
			b = c;
		}

		return graph;
	}