public void addEdge(int start, int end, int weight)
    {
        if (start < 0 || start >= myNumVertices || end < 0 || end >= myNumVertices) {
            throw new IllegalArgumentException(
                "Illegal vertex for this graph, must be between 0 and " + myEdges.length
                                + ".  Start: " + start + " End: " + end);
        }
        for (Edge e : myEdges[start]) {
            if (e.getTarget() == end) {
                e.setWeight(weight);
                return;
            }
        }
        myEdges[start].insert(new Edge(end, weight));
    }