2003-08-21 19:11:04
: 130
: 99
: +5|15|-11 = -8%
public void dijkstra(Vertice v) {
Heap heap = new Heap();
heap.inserir( v, v, 0);
v.marcado = true;
while (! heap.estahVazio() ) {
Aresta a = heap.remover();
NoLista temp = vertices[a.destino].lista.inicio;
while( temp != null) {
if( !vertices[temp.destino].marcado ) {
vertices[temp.destino].marcado = true;
Aresta aresta = new Aresta(a.destino, temp.destino, temp.custo );
heap.inserir(aresta);
} else {
if ( vertices[temp.destino].menorCaminho > (vertices[a.destino].menorCaminho + temp.custo) ) {
vertices[temp.destino].menorCaminho = (vertices[a.destino].menorCaminho + temp.custo);
Aresta aresta2 = new Aresta(a.destino, temp.destino, temp.custo)
heap.inserir(aresta2);
}
}
temp = temp.prox;
} // fim do while temp
}// fim do heapvazio

? / ! !
2011-12-23 01:55:58 #
!!!
!

. yaplakal.com
© , 2003–2019. : megath[aka duro], skupr, MakZ' ;), Methos' sandbox, , .
, - - , , , , - )))