private  Map<Integer, Integer> dijkstra(Integer start, Integer stop) {

		for (Integer inte : graph.getEdges()) {
			PonderatePoint pp;
			if(inte.equals(start)) {
				pp = new PonderatePoint(inte,0);
			}
			else{
				pp = new PonderatePoint(inte,INFINITE);
			}
			predecessors.put(inte, -1);
			vertex.add(pp);
			distance.put(inte, (inte.equals(start)) ? 0 : INFINITE);
		};
		
		while(!vertex.isEmpty()) {
			int t = vertex.pollFirst().getName();
			Iterator<?> neighbors = graph.neighbors(t);
			int s, dt, weightTS;
			while(neighbors.hasNext()) {
				if(stop.compareTo(t) == 0) {
					return predecessors;
				}
				s = (Integer) neighbors.next();
				dt = distance.get(t);
				weightTS = graph.getWeight(t, s);
				int ds = distance.get(s);
				if(dt + weightTS < ds) {
					distance.put(s, dt + weightTS);
					predecessors.put(s, t);
					vertex.add(new PonderatePoint(s, dt+weightTS));
				}
			}
		}
		return predecessors;
	}