SlideShare una empresa de Scribd logo
1 de 18
 Árbol de mínima expansión:
Árbol de máximo alcance cuyo valor
es mínimo, es decir, la suma de sus
aristas es mínima.
 Algoritmo de Kruskal: El algoritmo de Kruskal
permite hallar el árbol minimal de cualquier grafo
valorado (con capacidades). Hay que seguir los
siguientes pasos:
 Se marca la arista con menor valor. Si hay más
de una, se elige cualquiera de ellas.
 De las aristas restantes, se marca la que tenga
menor valor, si hay más de una, se elige
cualquiera de ellas.
 Repetir el paso 2 siempre que la
arista elegida no forme un ciclo
con las ya marcadas.
 El proceso termina cuando
tenemos todos los nodos del
grafo en alguna de las aristas
marcadas, es decir, cuando
tenemos marcados n-1 arcos,
siendo n el número de nodos del
grafo.
Ejemplo: Determinar el árbol de
mínima expansión para el siguiente
grafo:
Siguiendo el algoritmo de Kruskal, tenemos:
Elegimos, por ejemplo, la arista (5, 6) = 1 (menor valor)
y la marcamos.
Elegimos la siguiente arista con menor valor (1, 3) = 1 y
la marcamos.
Elegimos la siguiente arista con menor valor (5, 7) = 2 y
la marcamos, ya que no forma ciclos con ninguna arista de
las marcadas anteriormente.
 Elegimos la siguiente arista con menor valor (1, 2) = 3 y la
marcamos, ya que no forma ciclos con ninguna arista de las
marcadas anteriormente.
 Elegimos la siguiente arista con menor valor (6, 7) = 4 y la
desechamos, ya que forma ciclos con las aristas (5, 7) y (5,
6) marcadas anteriormente.
 Elegimos la siguiente arista con menor valor (2, 5) = 5 y la
marcamos, ya que no forma ciclos con ninguna arista de las
marcadas anteriormente.
 Elegimos la siguiente arista con menor valor (4, 5) = 6 y la
marcamos, ya que no forma ciclos con ninguna arista de las
marcadas anteriormente.
 FIN. Finalizamos dado que los 7 nodos del grafo están en
alguna de las aristas, o también ya que tenemos marcadas 6
aristas (n-1).
 Por tanto el árbol de mínima expansión resultante sería:
 <iostream.h> # include # include
<process.h> <malloc.h> # include # define
MAX 20 borde struct { int u, v int, int peso;
borde * enlace; } * frente = NULL; int padre
[ MAX]; / * Mantiene el padre de cada nodo
* / árbol
CODIGO Y PSEUDOCODIGO
<img src="http://www.tech-
faq.com/components/com_glossary/
images/plugin/messagebox_info.pn
g" border="0" align="top"
alt="Glossary Link" />
 <a class="glossarylink"
 href="/index.php?
option=com_glossary&Itemid=239&id=402&letter
=E&lang=es" title="EDGE (Enhanced Data Rates
for Global Evolution) – is an improved GPRS
standard used to obtain rich content data. It
broadcasted four times faster than conventional
transmission. The speed of EDGE network
depends upon various aspects, such as service
outages, traffic volume, signal strength and the
Internet speed. ">edge</a> [MAX]; / *
contendrá los bordes del árbol de expansión * /
int n; / * Indica el número total de nodos en el
 gráfico * / int wt_tree = 0; / * Peso del árbol
de expansión * / int count = 0; / * Indica el
número de aristas incluidas en el árbol * / / *
Funciones * / void make_tree (); insert_tree
(int i, j int, int peso); void insert_pque (int i, j
int, int peso); borde * del_pque ();
create_graph void (); void main () { int i;
create_graph (); make_tree (); cout << "los
bordes que se incluirán en el árbol de
expansión se :  n "; for (i = 1; i <= count; i +
+) { tribunal <<árbol [i]. u; tribunal <<árbol
[i]. V; } tribunal <<" Peso de este árbol de
expansión mínima es: "<<wt_tree; } / * Fin de
main () * / void create_graph ()
 { int i, en peso, max_edges, origen, destino;
cout <<" Introduzca el número de nodos: ";
cin>> n; max_edges * = n (n-1) / 2; for (i =
1; i <= max_edges; i + +) { tribunal <<
"Introduzca el borde" <<i << "(0 0 para dejar
de fumar):" cin>> romper origen; cin>>
destino; if ((origen == 0) & & (destino == 0));
cout << " n Introduzca el peso de este canto:"
cin>> peso; if (origen> n | | Destin> n | |
origen <= 0 | | destin <= 0) { tribunal << "no
válido borde  n"; i -; } más insert_pque
(origen, destino, peso); } if (i <n - 1) { tribunal
<< " nSpanning árbol no es posible  n";
salida (1); } } / * Fin de create_graph () * /
void make_tree () { borde * tmp; int nodo1,
nodo2,
 <img src="http://www.tech-
faq.com/components/com_glossary
/images/plugin/messagebox_info.p
ng" border="0" align="top"
alt="Glossary Link" />
 <a
class="glossarylink"
 href="/index.php?
option=com_glossary&Itemid=239&id=240&let
ter=R&lang=es" title="also called the
administrator account. Root refers to the user
with the permission on every mode of a multi-
user or single OS. The root in PC file structure
is recognized as the top-most or the first
directory within the chain of command.
">root</a>_n1, root_n2 while (count <n-1) / *
bucle hasta n-1 aristas incluidas en el árbol * /
tmp = { del_pque (); nodo1 = tmp-> u; nodo2
= tmp-> v; tribunal << " nn1 = "<<nodo1;
cout <<"  nn2 = "<<node2; while( nodo1> 0)
{ root_n1 = nodo1; nodo1 = padre
 [nodo1]; } while (nodo2> 0) { root_n2 =
nodo2; nodo2 = padre [nodo2]; } tribunal <<
" nrootn1 =" <<root_n1; tribunal << "
nrootn2 =" <<root_n2; if(root_n1!=root_n2)
{ insert_tree(tmp-> u, tmp-> v, tmp-> peso);
wt_tree = wt_tree + tmp-> peso; padre
[root_n2] = root_n1; } } } / * Fin de
make_tree () * / / * Inserción de una ventaja
en el árbol * / void insert_tree (int i, int j, int
peso) { tribunal << "
 nEste borde insertado en el árbol de
expansión  n"; count + +; árbol
[cuenta]. u = i; árbol [cuenta]. v = j;
[árbol cuenta]. peso = peso; } / * Fin de
insert_tree () * / / * Inserción de bordes
en la cola de prioridad * / insert_pque
(int i, j int, int peso) { borde * tmp, * q;
tmp = (borde *) malloc ( sizeof (borde));
tmp-> U = i; tmp-> v = j; tmp-> peso =
peso; / * la cola está vacía o borde que
se ha añadido peso inferior a primera
borde * /
 if (frente == NULL | | tmp-> peso <front->
peso) { tmp-> link = frente; frente = tmp; }
más { q = frente, mientras que (q-> enlace! =
NULL & & q-> enlace-> peso < = tmp-> peso)
q = q-> enlace; tmp-> link = q-> enlace; q->
link = tmp; si (q-> link == NULL) / * borde
que se añade al final * / tmp-> link =
NULL; } } / * Fin de insert_pque () * / / *
Eliminar un borde de la cola de prioridad * / *
borde del_pque () { borde * tmp; tmp =
frente; cout << " nEdge es procesada ";
tribunal <<tmp-> u; cout <<" -> "<<tmp-> V;
cout <<" "<<tmp-> peso; frente = frente->
enlace; return tmp; } / * Fin de del_pque () * /
salida
VIDEO EXPLICACION
http://www.youtube.com/watch?v=AR_Y88kkh58
ALHELI ISTHAR DEL TORO GONZALEZ
1535469

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Javascript funcional
Javascript funcionalJavascript funcional
Javascript funcional
 
Comandos mysql
Comandos mysqlComandos mysql
Comandos mysql
 
Funcionesphpmysql
FuncionesphpmysqlFuncionesphpmysql
Funcionesphpmysql
 
C++
C++C++
C++
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Bd 2 1 fundamentos transact sql
Bd 2   1 fundamentos transact sqlBd 2   1 fundamentos transact sql
Bd 2 1 fundamentos transact sql
 
Instrucciones mysql
Instrucciones mysqlInstrucciones mysql
Instrucciones mysql
 
Conjunto generador
Conjunto generadorConjunto generador
Conjunto generador
 
Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.
 
Busqueda entre adversarios
Busqueda entre adversariosBusqueda entre adversarios
Busqueda entre adversarios
 
Implementacion
ImplementacionImplementacion
Implementacion
 
ADA 4
ADA 4ADA 4
ADA 4
 
Bdii 04 sql
Bdii 04 sqlBdii 04 sql
Bdii 04 sql
 
82 Php. Ver Y Modificar Estructuras
82 Php. Ver Y Modificar Estructuras82 Php. Ver Y Modificar Estructuras
82 Php. Ver Y Modificar Estructuras
 
Funciones as3
Funciones as3Funciones as3
Funciones as3
 
1.2. kotlin (1)
1.2. kotlin (1)1.2. kotlin (1)
1.2. kotlin (1)
 
Punteros4
Punteros4Punteros4
Punteros4
 

Destacado

Lettre d'information de la CCIA (Antananarivo - Madagascar) - Octobre 2014
Lettre d'information de la CCIA (Antananarivo - Madagascar) - Octobre 2014Lettre d'information de la CCIA (Antananarivo - Madagascar) - Octobre 2014
Lettre d'information de la CCIA (Antananarivo - Madagascar) - Octobre 2014Franck Dasilva
 
Vers la resilience N° 2
Vers la resilience N° 2Vers la resilience N° 2
Vers la resilience N° 2impactjeunes
 
Construcción de la tecnología educativa
Construcción de la tecnología educativaConstrucción de la tecnología educativa
Construcción de la tecnología educativaHECJ
 
Perfilprofecional[1]
Perfilprofecional[1]Perfilprofecional[1]
Perfilprofecional[1]el espacio
 
Evaluación del entorno económico del mercado canadiense y chileno, para la in...
Evaluación del entorno económico del mercado canadiense y chileno, para la in...Evaluación del entorno económico del mercado canadiense y chileno, para la in...
Evaluación del entorno económico del mercado canadiense y chileno, para la in...Johnochoa
 
Dossier Agile: Une autre relation client - fournisseur
Dossier Agile: Une autre relation client - fournisseurDossier Agile: Une autre relation client - fournisseur
Dossier Agile: Une autre relation client - fournisseurinsentia
 
Christian licoppe
Christian licoppeChristian licoppe
Christian licoppeIRI
 
Cloud Privé, Cloud Public, pourquoi choisir?
Cloud Privé, Cloud Public, pourquoi choisir?Cloud Privé, Cloud Public, pourquoi choisir?
Cloud Privé, Cloud Public, pourquoi choisir?Microsoft Ideas
 
Portfolio Roxanne Brousseau_2015
Portfolio Roxanne Brousseau_2015Portfolio Roxanne Brousseau_2015
Portfolio Roxanne Brousseau_2015Roxanne Brousseau
 
Robin mascotte ambassadeur de l'Ardenne - Dossier de presse 2013
Robin mascotte ambassadeur de l'Ardenne - Dossier de presse 2013Robin mascotte ambassadeur de l'Ardenne - Dossier de presse 2013
Robin mascotte ambassadeur de l'Ardenne - Dossier de presse 2013Robin Ardenne
 
bilan du Fonds d’aide à l’innovation audiovisuelle - aide au développement d...
 bilan du Fonds d’aide à l’innovation audiovisuelle - aide au développement d... bilan du Fonds d’aide à l’innovation audiovisuelle - aide au développement d...
bilan du Fonds d’aide à l’innovation audiovisuelle - aide au développement d...LeCNC
 
Ignite Maroc 2ème Edition - Alex Axiotis
Ignite Maroc 2ème Edition - Alex AxiotisIgnite Maroc 2ème Edition - Alex Axiotis
Ignite Maroc 2ème Edition - Alex AxiotisSalah Benzakour
 
Les conséquences attendues pour l’image du vin d’Alsace et l’appellation « Vi...
Les conséquences attendues pour l’image du vin d’Alsace et l’appellation « Vi...Les conséquences attendues pour l’image du vin d’Alsace et l’appellation « Vi...
Les conséquences attendues pour l’image du vin d’Alsace et l’appellation « Vi...Veroiotis Georgios
 

Destacado (20)

Patrones
PatronesPatrones
Patrones
 
Lettre d'information de la CCIA (Antananarivo - Madagascar) - Octobre 2014
Lettre d'information de la CCIA (Antananarivo - Madagascar) - Octobre 2014Lettre d'information de la CCIA (Antananarivo - Madagascar) - Octobre 2014
Lettre d'information de la CCIA (Antananarivo - Madagascar) - Octobre 2014
 
Vers la resilience N° 2
Vers la resilience N° 2Vers la resilience N° 2
Vers la resilience N° 2
 
Construcción de la tecnología educativa
Construcción de la tecnología educativaConstrucción de la tecnología educativa
Construcción de la tecnología educativa
 
Perfilprofecional[1]
Perfilprofecional[1]Perfilprofecional[1]
Perfilprofecional[1]
 
Evaluación del entorno económico del mercado canadiense y chileno, para la in...
Evaluación del entorno económico del mercado canadiense y chileno, para la in...Evaluación del entorno económico del mercado canadiense y chileno, para la in...
Evaluación del entorno económico del mercado canadiense y chileno, para la in...
 
Dossier Agile: Une autre relation client - fournisseur
Dossier Agile: Une autre relation client - fournisseurDossier Agile: Une autre relation client - fournisseur
Dossier Agile: Une autre relation client - fournisseur
 
Christian licoppe
Christian licoppeChristian licoppe
Christian licoppe
 
Guide des Bons Tuyaux
Guide des Bons TuyauxGuide des Bons Tuyaux
Guide des Bons Tuyaux
 
Nutri
NutriNutri
Nutri
 
Projet carrieres is
Projet carrieres isProjet carrieres is
Projet carrieres is
 
Cloud Privé, Cloud Public, pourquoi choisir?
Cloud Privé, Cloud Public, pourquoi choisir?Cloud Privé, Cloud Public, pourquoi choisir?
Cloud Privé, Cloud Public, pourquoi choisir?
 
Portfolio Roxanne Brousseau_2015
Portfolio Roxanne Brousseau_2015Portfolio Roxanne Brousseau_2015
Portfolio Roxanne Brousseau_2015
 
Robin mascotte ambassadeur de l'Ardenne - Dossier de presse 2013
Robin mascotte ambassadeur de l'Ardenne - Dossier de presse 2013Robin mascotte ambassadeur de l'Ardenne - Dossier de presse 2013
Robin mascotte ambassadeur de l'Ardenne - Dossier de presse 2013
 
bilan du Fonds d’aide à l’innovation audiovisuelle - aide au développement d...
 bilan du Fonds d’aide à l’innovation audiovisuelle - aide au développement d... bilan du Fonds d’aide à l’innovation audiovisuelle - aide au développement d...
bilan du Fonds d’aide à l’innovation audiovisuelle - aide au développement d...
 
Ignite Maroc 2ème Edition - Alex Axiotis
Ignite Maroc 2ème Edition - Alex AxiotisIgnite Maroc 2ème Edition - Alex Axiotis
Ignite Maroc 2ème Edition - Alex Axiotis
 
20101018 cci82web2
20101018 cci82web220101018 cci82web2
20101018 cci82web2
 
Prostate grand public
Prostate grand publicProstate grand public
Prostate grand public
 
Les conséquences attendues pour l’image du vin d’Alsace et l’appellation « Vi...
Les conséquences attendues pour l’image du vin d’Alsace et l’appellation « Vi...Les conséquences attendues pour l’image du vin d’Alsace et l’appellation « Vi...
Les conséquences attendues pour l’image du vin d’Alsace et l’appellation « Vi...
 
Ainoa verano
Ainoa veranoAinoa verano
Ainoa verano
 

Similar a Kruskal

Similar a Kruskal (20)

Kruskal
KruskalKruskal
Kruskal
 
Coloreo de grafos
Coloreo de grafosColoreo de grafos
Coloreo de grafos
 
Deteccion de Ciclos en c
Deteccion de Ciclos en cDeteccion de Ciclos en c
Deteccion de Ciclos en c
 
informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento- informe unidad 5 -Metodos de ordenamiento-
informe unidad 5 -Metodos de ordenamiento-
 
Cplus
CplusCplus
Cplus
 
Charla Mysql
Charla MysqlCharla Mysql
Charla Mysql
 
Lecture 37
Lecture 37Lecture 37
Lecture 37
 
Programación de código
Programación de códigoProgramación de código
Programación de código
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uex
 
Informe tecnico victor_uex
Informe tecnico victor_uexInforme tecnico victor_uex
Informe tecnico victor_uex
 
1.2. kotlin
1.2. kotlin1.2. kotlin
1.2. kotlin
 
Tarea 1 bash
Tarea 1 bashTarea 1 bash
Tarea 1 bash
 
Clase integracion matlab
Clase integracion matlabClase integracion matlab
Clase integracion matlab
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
Descubriendo scala
Descubriendo scalaDescubriendo scala
Descubriendo scala
 
Graficas especiales
Graficas especialesGraficas especiales
Graficas especiales
 
Tema3 p2%20
Tema3 p2%20Tema3 p2%20
Tema3 p2%20
 
Informe tecnico u 4-victor uex
Informe tecnico u 4-victor uexInforme tecnico u 4-victor uex
Informe tecnico u 4-victor uex
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 

Kruskal

  • 1.
  • 2.  Árbol de mínima expansión: Árbol de máximo alcance cuyo valor es mínimo, es decir, la suma de sus aristas es mínima.
  • 3.  Algoritmo de Kruskal: El algoritmo de Kruskal permite hallar el árbol minimal de cualquier grafo valorado (con capacidades). Hay que seguir los siguientes pasos:  Se marca la arista con menor valor. Si hay más de una, se elige cualquiera de ellas.  De las aristas restantes, se marca la que tenga menor valor, si hay más de una, se elige cualquiera de ellas.
  • 4.  Repetir el paso 2 siempre que la arista elegida no forme un ciclo con las ya marcadas.  El proceso termina cuando tenemos todos los nodos del grafo en alguna de las aristas marcadas, es decir, cuando tenemos marcados n-1 arcos, siendo n el número de nodos del grafo.
  • 5. Ejemplo: Determinar el árbol de mínima expansión para el siguiente grafo: Siguiendo el algoritmo de Kruskal, tenemos: Elegimos, por ejemplo, la arista (5, 6) = 1 (menor valor) y la marcamos. Elegimos la siguiente arista con menor valor (1, 3) = 1 y la marcamos. Elegimos la siguiente arista con menor valor (5, 7) = 2 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.
  • 6.  Elegimos la siguiente arista con menor valor (1, 2) = 3 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.  Elegimos la siguiente arista con menor valor (6, 7) = 4 y la desechamos, ya que forma ciclos con las aristas (5, 7) y (5, 6) marcadas anteriormente.  Elegimos la siguiente arista con menor valor (2, 5) = 5 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.  Elegimos la siguiente arista con menor valor (4, 5) = 6 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.  FIN. Finalizamos dado que los 7 nodos del grafo están en alguna de las aristas, o también ya que tenemos marcadas 6 aristas (n-1).  Por tanto el árbol de mínima expansión resultante sería:
  • 7.  <iostream.h> # include # include <process.h> <malloc.h> # include # define MAX 20 borde struct { int u, v int, int peso; borde * enlace; } * frente = NULL; int padre [ MAX]; / * Mantiene el padre de cada nodo * / árbol CODIGO Y PSEUDOCODIGO
  • 9.  href="/index.php? option=com_glossary&Itemid=239&id=402&letter =E&lang=es" title="EDGE (Enhanced Data Rates for Global Evolution) – is an improved GPRS standard used to obtain rich content data. It broadcasted four times faster than conventional transmission. The speed of EDGE network depends upon various aspects, such as service outages, traffic volume, signal strength and the Internet speed. ">edge</a> [MAX]; / * contendrá los bordes del árbol de expansión * / int n; / * Indica el número total de nodos en el
  • 10.  gráfico * / int wt_tree = 0; / * Peso del árbol de expansión * / int count = 0; / * Indica el número de aristas incluidas en el árbol * / / * Funciones * / void make_tree (); insert_tree (int i, j int, int peso); void insert_pque (int i, j int, int peso); borde * del_pque (); create_graph void (); void main () { int i; create_graph (); make_tree (); cout << "los bordes que se incluirán en el árbol de expansión se : n "; for (i = 1; i <= count; i + +) { tribunal <<árbol [i]. u; tribunal <<árbol [i]. V; } tribunal <<" Peso de este árbol de expansión mínima es: "<<wt_tree; } / * Fin de main () * / void create_graph ()
  • 11.  { int i, en peso, max_edges, origen, destino; cout <<" Introduzca el número de nodos: "; cin>> n; max_edges * = n (n-1) / 2; for (i = 1; i <= max_edges; i + +) { tribunal << "Introduzca el borde" <<i << "(0 0 para dejar de fumar):" cin>> romper origen; cin>> destino; if ((origen == 0) & & (destino == 0)); cout << " n Introduzca el peso de este canto:" cin>> peso; if (origen> n | | Destin> n | | origen <= 0 | | destin <= 0) { tribunal << "no válido borde n"; i -; } más insert_pque (origen, destino, peso); } if (i <n - 1) { tribunal << " nSpanning árbol no es posible n"; salida (1); } } / * Fin de create_graph () * / void make_tree () { borde * tmp; int nodo1, nodo2,
  • 12.  <img src="http://www.tech- faq.com/components/com_glossary /images/plugin/messagebox_info.p ng" border="0" align="top" alt="Glossary Link" />  <a class="glossarylink"
  • 13.  href="/index.php? option=com_glossary&Itemid=239&id=240&let ter=R&lang=es" title="also called the administrator account. Root refers to the user with the permission on every mode of a multi- user or single OS. The root in PC file structure is recognized as the top-most or the first directory within the chain of command. ">root</a>_n1, root_n2 while (count <n-1) / * bucle hasta n-1 aristas incluidas en el árbol * / tmp = { del_pque (); nodo1 = tmp-> u; nodo2 = tmp-> v; tribunal << " nn1 = "<<nodo1; cout <<" nn2 = "<<node2; while( nodo1> 0) { root_n1 = nodo1; nodo1 = padre
  • 14.  [nodo1]; } while (nodo2> 0) { root_n2 = nodo2; nodo2 = padre [nodo2]; } tribunal << " nrootn1 =" <<root_n1; tribunal << " nrootn2 =" <<root_n2; if(root_n1!=root_n2) { insert_tree(tmp-> u, tmp-> v, tmp-> peso); wt_tree = wt_tree + tmp-> peso; padre [root_n2] = root_n1; } } } / * Fin de make_tree () * / / * Inserción de una ventaja en el árbol * / void insert_tree (int i, int j, int peso) { tribunal << "
  • 15.  nEste borde insertado en el árbol de expansión n"; count + +; árbol [cuenta]. u = i; árbol [cuenta]. v = j; [árbol cuenta]. peso = peso; } / * Fin de insert_tree () * / / * Inserción de bordes en la cola de prioridad * / insert_pque (int i, j int, int peso) { borde * tmp, * q; tmp = (borde *) malloc ( sizeof (borde)); tmp-> U = i; tmp-> v = j; tmp-> peso = peso; / * la cola está vacía o borde que se ha añadido peso inferior a primera borde * /
  • 16.  if (frente == NULL | | tmp-> peso <front-> peso) { tmp-> link = frente; frente = tmp; } más { q = frente, mientras que (q-> enlace! = NULL & & q-> enlace-> peso < = tmp-> peso) q = q-> enlace; tmp-> link = q-> enlace; q-> link = tmp; si (q-> link == NULL) / * borde que se añade al final * / tmp-> link = NULL; } } / * Fin de insert_pque () * / / * Eliminar un borde de la cola de prioridad * / * borde del_pque () { borde * tmp; tmp = frente; cout << " nEdge es procesada "; tribunal <<tmp-> u; cout <<" -> "<<tmp-> V; cout <<" "<<tmp-> peso; frente = frente-> enlace; return tmp; } / * Fin de del_pque () * /