13.05.2013 Views

Algoritmos y Estructuras de Datos II, Grado Ingenier´ıa Informática

Algoritmos y Estructuras de Datos II, Grado Ingenier´ıa Informática

Algoritmos y Estructuras de Datos II, Grado Ingenier´ıa Informática

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

La operación C = C − {x} no se programará explícitamente, ya que<br />

una vez que hemos <strong>de</strong>cidido ir al nodo j <strong>de</strong>s<strong>de</strong> el nodo i pasamos a<br />

analizar los valores en la fila j.<br />

No utilizamos función factible, pues sólo seleccionamos movimientos<br />

que nos llevan a nodos a los que po<strong>de</strong>mos ir. La función <strong>de</strong> selección<br />

<strong>de</strong>volverá un valor especial cuando <strong>de</strong>s<strong>de</strong> un nodo no se pue<strong>de</strong> seguir<br />

avanzando.<br />

La inclusión en el conjunto solución (S ∪{x}) será almacenar el nodo<br />

seleccionado.<br />

La función que <strong>de</strong>vuelve el valor objetivo simplemente <strong>de</strong>vuelve el<br />

número <strong>de</strong> nodos almacenados en sol menos 1.<br />

Un esquema <strong>de</strong> avance rápido para este problema pue<strong>de</strong> ser:<br />

grafo-voraz(sol: array[1..niveles] <strong>de</strong> 0...N)<br />

sol ← 0<br />

sol[1] = 1<br />

paso = 1<br />

factible=VERDADERO<br />

// cuando factible sea falso es porque no se ha podido<br />

// ir a ningún nodo<br />

MIENTRAS factible Y pos[paso] = N<br />

seleccionar nodo <strong>de</strong>stino el <strong>de</strong> mínimo valor <strong>de</strong>s<strong>de</strong> sol[paso]<br />

si <strong>de</strong>s<strong>de</strong> sol[paso] no se llega a ningún nodo factible=FALSO<br />

SI factible=VERDADERO<br />

paso++<br />

sol[paso] = <strong>de</strong>stino<br />

FINSI<br />

FINMIENTRAS<br />

SI factible=VERDADERO<br />

solución sol con paso pasos<br />

EN OTRO CASO<br />

“No se pue<strong>de</strong> encontrar una solución”<br />

FINSI<br />

Problema 4:<br />

4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!