El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para encontrar un árbol recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas.
En otras palabras, el algoritmo encuentra un subconjunto de aristas que forman un árbol con todos los vértices, donde el peso total de todas las aristas en el árbol es el mínimo posible. Si el grafo no es conexo, entonces el algoritmo encontrará el árbol recubridor mínimo para uno de los componentes conexos que forman dicho grafo no conexo.
El algoritmo fue diseñado en 1930 por el matemático Vojtech Jarnik y luego de manera independiente por el científico computacional Robert C. Prim en 1957 y redescubierto por Dijkstra en 1959. Por esta razón, el algoritmo es también conocido como algoritmo DJP o algoritmo de Jarnik.
Universidad Iberoamericana, Biblioteca Francisco Xavier Clavigero,
¿Cómo cito la información que encontré en
Internet? Algunos lineamientos para asentar una bibliografía.
(21 agosto 01)
Debido a la simplicidad que este algoritmo conlleva puede ser
aprovechado sin necesidad de ser un gran experto en programación.
http://www.algovidea.cl/index.php?view=article&catid=39%3Acoberturaminima&id=53%3Acoberturaminima&format=pdf&option=com_content&Itemid=63There is a new map showing mathematicians' birthplaces:
There are 29 new biographies.http://www-history.mcs.st-and.ac.uk/Biographies/Jarnik.html
Robert C. Prim
En 1941 se licenció en ingeniería eléctrica en la Universidad de Princeton. Más tarde, en 1949 recibe su doctorado en matemáticas en la misma universidad. Trabajó en dicha universidad desde 1948 hasta 1949 como investigador asociado.
http://wikitechnology0.blogspot.com/2012/10/biografia-de-robert-c-prim.html
El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para encontrar un árbol recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas.
http://es.wikipedia.org/wiki/Algoritmo_de_Prim
Algoritmos de agrupamiento difuso, índices de validación: un estado del arte
Joan Sosa - García, Sandro Vega - Pons y José Ruiz - Shulcloper
Dpto. inería de Datos , Centro de Aplicaciones de Tecnologías de Avanzada (CENATAV), La Habana, Cuba { jsosa , svega}@cenatav.co.cu
Dpto. Reconocimiento de Patrones, Centro de Aplicaciones de Tecnologías de Avanzada (CENATAV), La Habana, Cuba jshulcloper@cenatav.co.cu RT_049, Serie Azul , CENATAVA aceptado : 9 de abril de 2012
Dpto. inería de Datos , Centro de Aplicaciones de Tecnologías de Avanzada (CENATAV), La Habana, Cuba { jsosa , svega}@cenatav.co.cu
Dpto. Reconocimiento de Patrones, Centro de Aplicaciones de Tecnologías de Avanzada (CENATAV), La Habana, Cuba jshulcloper@cenatav.co.cu RT_049, Serie Azul , CENATAVA aceptado : 9 de abril de 2012
Autores
Isaías J Balmaceda PrinsIsaias J Balmaceda |

Applet 2º | Applet 1º |
Mas Ejercicios!
Juega nuestra sopa de letrasEL algoritmo de prim
Realiza el tes es muy corto EL algoritmo de prim test
Se utiliza en una extensa variedad de campos del conocimiento, en la ingenieria informatica para diseñar redes, dentro de la programación para el diseño de circuitos.
En la electronica para el diseño de los complejos circuitos electronicos.
En la administración en el diseño de los organigramas de jerarquias.
Image | Descripción | No visto | En el grafo | En el árbol |
---|---|---|---|---|
![]() |
Este es el grafo ponderado de partida. No es un árbol ya que requiere que no haya ciclos y en este grafo los hay. Los números cerca de las aristas indican el peso. Ninguna de las aristas está marcada, y el vértice D ha sido elegido arbitrariamente como el punto de partida. | C, G | A, B, E, F | D |
![]() |
El segundo vértice es el más cercano a D: A está a 5 de distancia, B a 9, E a 15 y F a 6. De estos, 5 es el valor más pequeño, así que marcamos la arista DA. | C, G | B, E, F | A, D |
![]() |
El próximo vértice a elegir es el más cercano a D o A. B está a 9 de distancia de D y a 7 de A, E está a 15, y F está a 6. 6 es el valor más pequeño, así que marcamos el vértice F y a la arista DF. | C | B, E, G | A, D, F |
![]() |
El algoritmo continua. El vértice B, que está a una distancia de 7 de A, es el siguiente marcado. En este punto la arista DB es marcada en rojo porque sus dos extremos ya están en el árbol y por lo tanto no podrá ser utilizado. | null | C, E, G | A, D, F, B |
![]() |
Aquí hay que elegir entre C, E y G. C está a 8 de distancia de B, E está a 7 de distancia de B, y G está a 11 de distancia de F. E está más cerca, entonces marcamos el vértice E y la arista EB. Otras dos aristas fueron marcadas en rojo porque ambos vértices que unen fueron agregados al árbol. | null | C, G | A, D, F, B, E |
![]() |
Sólo quedan disponibles C y G. C está a 5 de distancia de E, y G a 9 de distancia de E. Se elige C, y se marca con el arco EC. El arco BC también se marca con rojo. | null | G | A, D, F, B, E, C |
![]() |
G es el único vértice pendiente, y está más cerca de E que de F, así que se agrega EG al árbol. Todos los vértices están ya marcados, el árbol de expansión mínimo se muestra en verde. En este caso con un peso de 39. | null | null | A, D, F, B, E, C, G |
Primero que todo cabe aclarar lo siguiente al comenzar con la biografia de Robert C. Prim, como brevario
cultural el algoritmo de PRIM, fue diseñado en 1930 por el matemático
Vojtech Jarnik y luego de manera independiente por el científico
computacional Robert C. Prim en 1957 y redescubierto por Dijkstra en
1959. Por esta razón, el algoritmo es también conocido como algoritmo DJP o algoritmo de Jarnik.
Robert C. Prim
Nacimiento:1921.
Lugar de Nacimiento:Sweetwater, Estados Unidos.
Muerte:-
Educación: En 1941 se licenció en ingeniería eléctrica en la Universidad de Princeton. Más tarde, en 1949 recibe su doctorado en matemáticas en la misma universidad. Trabajó en dicha universidad desde 1948 hasta 1949 como investigador asociado.
Curriculum:
En plena Segunda Guerra Mundial, Prim trabajó como ingeniero para General Electric. Desde 1944 hasta 1949 fue contratado por la United States Naval Ordnance Lab como ingeniero y más tarde como matemático. En los laboratorios Bell, trabajó como director de investigación matemática desde 1958 hasta 1961. Allí Prim desarrolló el conocido Algoritmo de Prim. Después de su estancia en los laboratorios Bell, Prim pasó a ser vicepresidente de investigación en Sandia National Laboratories.
Historia:
En la literatura de libros de texto y la investigación que se desarrolló sobre lo Kruskal y Prim. consumado que se perdió en gran medida que otros habían trabajado en este problema antes. En particular, se pasa por alto que la mayoría de los periódicos, tanto de Prim y Kruskal, se hizo referencia a la labor del matemático checo Otakar Borůvka (1899-1995). Trabajo Borůvka de fecha a 1926 y su algoritmo para el problema del árbol de expansión mínimo coste es diferente de la de cualquiera de Kruskal o Prim! Por otra parte, el algoritmo Borůvka es muy elegante y merece tanta atención como la de Prim y Kruskal. Su trabajo fue publicado en checo (un documento con un resumen en alemán). Los últimos trabajos sobre la historia del problema al coste del árbol de expansión mínima muestra que hubo una serie de descubrimientos independientes de los algoritmos y las ideas involucradas, lo cual no es sorprendente a la luz de la importancia teórica de codicioso (hacer una elección mejor a nivel local) y los algoritmos aplicado muchos problemas que pueden ser atacados mediante las matemáticas involucradas. Por ejemplo, el algoritmo de Prim había sido realmente descubierto independientemente mucho antes por el matemático checo Vojtech Jarnik (1897-1970), quien hizo importantes contribuciones a las matemáticas, además de su trabajo en los árboles. La historia completa de las circunstancias de interés de Kruskal y de Prim en el problema del árbol de expansión mínimo costo se debe a problemas en la fijación de precios "servicios de línea arrendada" por el sistema Bell.
El algoritmo de Kruskal descubrió que para encontrar un árbol de expansión mínimo costo es muy atractivo, aunque sí requiere una prueba de que siempre produce un árbol óptimo. (El algoritmo análogo para el problema del viajante no siempre produce un óptimo global.) Además, en el inicio, el algoritmo de Kruskal requiere la clasificación de los pesos de todos los bordes del gráfico para el cual se busca un coste del árbol de expansión mínima. Esto requiere que la memoria del ordenador se utiliza para almacenar esta información. Dadas las capacidades de los ordenadores en el algoritmo de Kruskal tiempo de no satisfacer las necesidades de los clientes del sistema de Bell. Se le ocurrió a Robert Prim, colega de Kruskal en los Laboratorios Bell, que podría ser posible encontrar una alternativa al algoritmo de Kruskal (aunque matemáticamente trabajo de Kruskal era muy atractivo), que respondía a las necesidades de los clientes del sistema de Bell. Él tuvo éxito en hacer esto y al observar que su método funciona para los gráficos con los lazos en el costo entre los bordes y con pesos negativos.
Los tres de los algoritmos debido a Borůvka, Kruskal y Prim. son "codiciosos" algoritmos es decir, dependen de hacer algo que es localmente óptima (mejor), que "milagrosamente" resulta ser globalmente óptima.
Algoritmo de Prim trabaja recogiendo, a partir de cualquier vértice, un borde más barata en ese vértice, la contratación de esa ventaja para un nuevo single "super-vértice" y repetir el proceso. El algoritmo de Kruskal funciona mediante la adición de los bordes con el fin de sujetos más peso a la condición de que ningún ciclo de bordes se crea. (Una de las ventajas del algoritmo de Prim es que ningún control especial para asegurarse de que un ciclo no se forma es necesario.) Algoritmo Borůvka (que para trabajar en su forma más simple requiere que todos los bordes tienen pesos distintos) funciona haciendo que cada vértice agarrar más un borde. Si la estructura resultante no es un árbol, a continuación, los componentes obtenidos se contraen y se repite el proceso. Los detalles de estos algoritmos se describen a continuación mediante un ejemplo simple.
Vojtech Jarnik
Nacimiento:1897.
Lugar de Nacimiento: Austrian Empire Bohemia Prague
Muerte: 1970-09-22.Czechoslovakia Prague.
Educacion:
estudió en la Universidad Charles en Praga.
Vojtech Jarnik estudió en la Universidad Charles en Praga. Después de graduarse fue nombrado como asistente en la Universidad Charles. En 1923 se trasladó a la Universidad de Göttingen para trabajar con Edmund Landau. Al regresar a su puesto en Praga en 1924, se fue de nuevo a visitar a Göttingen en la sesión 1927/28, cuando trabajó con Landau.Jarnik fue nombrado catedrático de matemáticas en la Universidad Charles de Praga, en 1928. Ocupó este cargo hasta que se retiró en 1968 después de haber enseñado en la Universidad para un total de 47 años.El tema principal de la investigación fue Jarnik teoría de números. Uno de los problemas que trabajó extensivamente en estuvo relacionada con el problema del círculo de Gauss. Sea R (r) denota el número de puntos (m, n), con m, n ∈ Z contenida en un círculo de centro O, radio r. Existe una constante C y un número k con
| R (r) - πr2 | <Crk.Sea d el valor mínimo de k. Gauss demostró en 1837 que d <= 1. Sierpinski mejorado la desigualdad para d <= 2/3 en 1904. Landau también hizo contribuciones importantes y en 1915 Hardy y Landau demostró que d> 1/2. En 1923 se demostró que d <2/3.Jarnik Landau y estudiado el mismo problema de las curvas y superficies que no sean círculos. Aquí uno está interesado en la diferencia entre el número de puntos reticulares dentro de la superficie cerrada y el volumen encerrado por la superficie. Jarnik mostró que, para ciertas curvas cerradas el término de error tiene d = 2/3. Se estudió el problema para el caso particular de la elipsoide en una serie de documentos.Otra área de la teoría de números que Jarnik interesado fue aproximación diofántica. Escribió artículos sobre este tema que abarca los años 1928 a 1969. Durante la década 1939-49, escribió una serie de artículos que tratan de la geometría de los números, en el trato especial con la desigualdad de Minkowski para cuerpos convexos.Alrededor de 60 de los 90 Jarnik los documentos fueron escritos sobre teoría de números. Muchos de los otros fueron escritos en funciones de una variable real, especialmente durante los años 1933-1936, donde estudió Dini derivados y derivados aproximadas de funciones continuas. También escribió sobre la reorganización de las series infinitas, series trigonométricas y otras áreas de análisis.Carácter Jarnik se describe en [1]: -
Jarnik era un maestro excepcional que fue capaz de transmitir su entusiasmo por las matemáticas a sus alumnos. ... su profunda erudición humana, su tacto y su carácter humano puro como resultado un profundo respeto y admiración de todos los que le han conocido personalmente.Además de ser un editor de Acta Arithmetica desde el inicio de la revista, Jarnik estuvo activo en la organización de la enseñanza universitaria y la investigación científica a través de Checoslovaquia. Fue honrado por muchas sociedades científicas, en particular, de ser elegido miembro de la Academia Checoslovaca de Ciencias.
Robert C. Prim
Nacimiento:1921.
Lugar de Nacimiento:Sweetwater, Estados Unidos.
Muerte:-
Educación: En 1941 se licenció en ingeniería eléctrica en la Universidad de Princeton. Más tarde, en 1949 recibe su doctorado en matemáticas en la misma universidad. Trabajó en dicha universidad desde 1948 hasta 1949 como investigador asociado.
Curriculum:
En plena Segunda Guerra Mundial, Prim trabajó como ingeniero para General Electric. Desde 1944 hasta 1949 fue contratado por la United States Naval Ordnance Lab como ingeniero y más tarde como matemático. En los laboratorios Bell, trabajó como director de investigación matemática desde 1958 hasta 1961. Allí Prim desarrolló el conocido Algoritmo de Prim. Después de su estancia en los laboratorios Bell, Prim pasó a ser vicepresidente de investigación en Sandia National Laboratories.
Historia:
En la literatura de libros de texto y la investigación que se desarrolló sobre lo Kruskal y Prim. consumado que se perdió en gran medida que otros habían trabajado en este problema antes. En particular, se pasa por alto que la mayoría de los periódicos, tanto de Prim y Kruskal, se hizo referencia a la labor del matemático checo Otakar Borůvka (1899-1995). Trabajo Borůvka de fecha a 1926 y su algoritmo para el problema del árbol de expansión mínimo coste es diferente de la de cualquiera de Kruskal o Prim! Por otra parte, el algoritmo Borůvka es muy elegante y merece tanta atención como la de Prim y Kruskal. Su trabajo fue publicado en checo (un documento con un resumen en alemán). Los últimos trabajos sobre la historia del problema al coste del árbol de expansión mínima muestra que hubo una serie de descubrimientos independientes de los algoritmos y las ideas involucradas, lo cual no es sorprendente a la luz de la importancia teórica de codicioso (hacer una elección mejor a nivel local) y los algoritmos aplicado muchos problemas que pueden ser atacados mediante las matemáticas involucradas. Por ejemplo, el algoritmo de Prim había sido realmente descubierto independientemente mucho antes por el matemático checo Vojtech Jarnik (1897-1970), quien hizo importantes contribuciones a las matemáticas, además de su trabajo en los árboles. La historia completa de las circunstancias de interés de Kruskal y de Prim en el problema del árbol de expansión mínimo costo se debe a problemas en la fijación de precios "servicios de línea arrendada" por el sistema Bell.
El algoritmo de Kruskal descubrió que para encontrar un árbol de expansión mínimo costo es muy atractivo, aunque sí requiere una prueba de que siempre produce un árbol óptimo. (El algoritmo análogo para el problema del viajante no siempre produce un óptimo global.) Además, en el inicio, el algoritmo de Kruskal requiere la clasificación de los pesos de todos los bordes del gráfico para el cual se busca un coste del árbol de expansión mínima. Esto requiere que la memoria del ordenador se utiliza para almacenar esta información. Dadas las capacidades de los ordenadores en el algoritmo de Kruskal tiempo de no satisfacer las necesidades de los clientes del sistema de Bell. Se le ocurrió a Robert Prim, colega de Kruskal en los Laboratorios Bell, que podría ser posible encontrar una alternativa al algoritmo de Kruskal (aunque matemáticamente trabajo de Kruskal era muy atractivo), que respondía a las necesidades de los clientes del sistema de Bell. Él tuvo éxito en hacer esto y al observar que su método funciona para los gráficos con los lazos en el costo entre los bordes y con pesos negativos.
Los tres de los algoritmos debido a Borůvka, Kruskal y Prim. son "codiciosos" algoritmos es decir, dependen de hacer algo que es localmente óptima (mejor), que "milagrosamente" resulta ser globalmente óptima.
Algoritmo de Prim trabaja recogiendo, a partir de cualquier vértice, un borde más barata en ese vértice, la contratación de esa ventaja para un nuevo single "super-vértice" y repetir el proceso. El algoritmo de Kruskal funciona mediante la adición de los bordes con el fin de sujetos más peso a la condición de que ningún ciclo de bordes se crea. (Una de las ventajas del algoritmo de Prim es que ningún control especial para asegurarse de que un ciclo no se forma es necesario.) Algoritmo Borůvka (que para trabajar en su forma más simple requiere que todos los bordes tienen pesos distintos) funciona haciendo que cada vértice agarrar más un borde. Si la estructura resultante no es un árbol, a continuación, los componentes obtenidos se contraen y se repite el proceso. Los detalles de estos algoritmos se describen a continuación mediante un ejemplo simple.
Vojtech Jarnik
Nacimiento:1897.
Lugar de Nacimiento: Austrian Empire Bohemia Prague
Muerte: 1970-09-22.Czechoslovakia Prague.
Educacion:
estudió en la Universidad Charles en Praga.
Vojtech Jarnik estudió en la Universidad Charles en Praga. Después de graduarse fue nombrado como asistente en la Universidad Charles. En 1923 se trasladó a la Universidad de Göttingen para trabajar con Edmund Landau. Al regresar a su puesto en Praga en 1924, se fue de nuevo a visitar a Göttingen en la sesión 1927/28, cuando trabajó con Landau.Jarnik fue nombrado catedrático de matemáticas en la Universidad Charles de Praga, en 1928. Ocupó este cargo hasta que se retiró en 1968 después de haber enseñado en la Universidad para un total de 47 años.El tema principal de la investigación fue Jarnik teoría de números. Uno de los problemas que trabajó extensivamente en estuvo relacionada con el problema del círculo de Gauss. Sea R (r) denota el número de puntos (m, n), con m, n ∈ Z contenida en un círculo de centro O, radio r. Existe una constante C y un número k con
| R (r) - πr2 | <Crk.Sea d el valor mínimo de k. Gauss demostró en 1837 que d <= 1. Sierpinski mejorado la desigualdad para d <= 2/3 en 1904. Landau también hizo contribuciones importantes y en 1915 Hardy y Landau demostró que d> 1/2. En 1923 se demostró que d <2/3.Jarnik Landau y estudiado el mismo problema de las curvas y superficies que no sean círculos. Aquí uno está interesado en la diferencia entre el número de puntos reticulares dentro de la superficie cerrada y el volumen encerrado por la superficie. Jarnik mostró que, para ciertas curvas cerradas el término de error tiene d = 2/3. Se estudió el problema para el caso particular de la elipsoide en una serie de documentos.Otra área de la teoría de números que Jarnik interesado fue aproximación diofántica. Escribió artículos sobre este tema que abarca los años 1928 a 1969. Durante la década 1939-49, escribió una serie de artículos que tratan de la geometría de los números, en el trato especial con la desigualdad de Minkowski para cuerpos convexos.Alrededor de 60 de los 90 Jarnik los documentos fueron escritos sobre teoría de números. Muchos de los otros fueron escritos en funciones de una variable real, especialmente durante los años 1933-1936, donde estudió Dini derivados y derivados aproximadas de funciones continuas. También escribió sobre la reorganización de las series infinitas, series trigonométricas y otras áreas de análisis.Carácter Jarnik se describe en [1]: -
Jarnik era un maestro excepcional que fue capaz de transmitir su entusiasmo por las matemáticas a sus alumnos. ... su profunda erudición humana, su tacto y su carácter humano puro como resultado un profundo respeto y admiración de todos los que le han conocido personalmente.Además de ser un editor de Acta Arithmetica desde el inicio de la revista, Jarnik estuvo activo en la organización de la enseñanza universitaria y la investigación científica a través de Checoslovaquia. Fue honrado por muchas sociedades científicas, en particular, de ser elegido miembro de la Academia Checoslovaca de Ciencias.
Consiste en un algoritmo de
la teoría de los grafos para encontrar un árbol de cobertura mínimo en un grafo conexo (grafo que para cada par de nodos está conectado por un camino, o sea, si para cualquier par de nodos A y B, existe al menos un camino posible desde B hacia A), no dirigido y cuyas aristas están etiquetadas. En otras palabras, el algoritmo encuentra un subconjunto de aristas que forman un árbol con todos los vértices, donde el peso total de todas las aristas en el árbol es el
mínimo posible. Si el grafo no es conexo, entonces el algoritmo encontrará el árbol recubridor mínimo para uno de los componentes conexos que forman dicho grafo no conexo (grafo donde hay nodos que no pueden ser conectados por medio de un camino).
Pseudocódigo
PRIM (Grafo G, nodo_fuente s)
// Inicializamos todos los nodos del grafo. La distancia la ponemos a infinito y el padre de cada nodo a NULL
para cada u perteneciente a V[G] hacer
distancia[u] = INFINITO;
padre[u] = NULL;
distancia[s]= 0;
//colocamos todos los nodos del grafo V, en una cola
PonerenCola(cola, V[G]);
// Se extrae el nodo que tiene distancia mínima y se conserva la condición de cola de prioridad
mientras cola != 0 hacer
u = extraer_minimo(cola);
para v perteneciente adyacencia[u] hacer
si ((v pertenece a cola) && (distancia[v]> peso(u, v)) hacer
padre[v] = u;
distancia[v] = peso(u, v);
Siguiendo el algoritmo de Prim, se tiene:
- Se elige por ejemplo, el nodo 1 y se marca.
- Se elige la arista con menor valor incidente en 1, la (1, 3) = 1 se marca y se
marca el otro nodo en el que incide, el 3.
- Se elige la arista con menor valor incidente en un nodo marcado y otro que
no lo esté, la (1, 2) = 3 se marca y se marca el nodo no marcado, el 2.
- Se elige la arista con menor valor incidente en un nodo marcado y otro que
no lo esté, la (2, 5) = 5 se marca y se marca el nodo no marcado, el 5.
- Se elige la arista con menor valor incidente en un nodo marcado y otro que
no lo esté, la (5, 6) = 1 se marca y se marca el nodo no marcado, el 6.
- Se elige la arista con menor valor incidente en un nodo marcado y otro que
no lo esté, la (5, 7) = 2 se marca y se marca el nodo no marcado, el 7.
- Se elige la arista con menor valor incidente en un nodo marcado y otro que
no lo esté, la (5, 4) = 6 se marca y se marca el nodo no marcado, el 4.
- FIN. Se finaliza dado que se tiene marcados los 7 nodos del grafo.
- Por tanto el árbol de mínima expansión resultante sería:
Código en Java
public class Algorithms
{
public static Graph PrimsAlgorithm (Graph g, int s)
{
int n = g.getNumberOfVertices ();
Entry[] table = new Entry [n];
for (int v = 0; v < n; ++v)
table [v] = new Entry ();
table [s].distance = 0;
PriorityQueue queue =
new BinaryHeap (g.getNumberOfEdges());
queue.enqueue (
new Association (new Int (0), g.getVertex (s)));
while (!queue.isEmpty ())
{
Association assoc = (Association) queue.dequeueMin();
Vertex v0 = (Vertex) assoc.getValue ();
int n0 = v0.getNumber ();
if (!table [n0].known)
{
table [n0].known = true;
Enumeration p = v0.getEmanatingEdges ();
while (p.hasMoreElements ())
{
Edge edge = (Edge) p.nextElement ();
Vertex v1 = edge.getMate (v0);
int n1 = v1.getNumber ();
Int wt = (Int) edge.getWeight ();
int d = wt.intValue ();
if (!table[n1].known && table[n1].distance>d)
{ table [n1].distance = d;
table [n1].predecessor = n0;
queue.enqueue (
new Association (new Int (d), v1));
}
}
}
}
Graph result = new GraphAsLists (n);
for (int v = 0; v < n; ++v)
result.addVertex (v);
for (int v = 0; v < n; ++v)
if (v != s)
result.addEdge (v, table [v].predecessor);
return result;
}
}
Mas del algoritmo