public Iterable<WeightedEdge> edges()
	{
		List<WeightedEdge> edges = new LinkedList<WeightedEdge>();

		for (int v = 0; v < V(); v++)
			for (WeightedEdge e : adj[v])
				if (e.other(v) > v)
					edges.add(e);
		return edges;
	}