@Override
	public void addEdge(int src, int dst, int weight) {
		checkVectices(src, dst);
		if(weight == NO_EDGE) {
			throw new IllegalArgumentException();
		}
		for (EdgePair pair : nodeListArray[src]) {
			if(pair.dst == dst) {
				pair.weight = weight;
				return;
			}
		}
		nodeListArray[src].add(new EdgePair(dst, weight));
		edges.add(src);
	}