28 lines
1.1 KiB
Java
28 lines
1.1 KiB
Java
package DirectedGraphJava;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import java.util.ArrayList;
|
|
|
|
interface IDirectedGraph {
|
|
public DirectedGraph reindex();
|
|
public Integer numVertices();
|
|
public Integer numEdges();
|
|
public Iterator<Integer> vertices();
|
|
public Iterator<Pair<Pair<Integer,Integer>,Integer>> edges();
|
|
public boolean isEdge(Integer v1, Integer v2);
|
|
public int inDegree(Integer v);
|
|
public int outDegree(Integer v);
|
|
public Iterator<Integer> inbounds(Integer v);
|
|
public Iterator<Integer> outbounds(Integer v);
|
|
public Integer weight(Integer v1, Integer v2);
|
|
public void weight(Integer v1, Integer v2, Integer w);
|
|
public void addVertex(Integer v);
|
|
public void removeVertex(Integer v);
|
|
public void addEdge(Integer v1, Integer v2, Integer w);
|
|
public void removeEdge(Integer v1, Integer v2);
|
|
public HashMap<Integer,Pair<Integer,Integer>> shortestPath(Integer v);
|
|
public HashMap<Integer,Pair<Integer,Integer>> shortestPath(Integer v,Integer u);
|
|
public ArrayList<Integer> path(Integer v1,Integer v2);
|
|
}
|