You are on page 1of 27

ALGORITMO DE DIJKSTRA

[3,
DISTANCIA
ACUMULADA

DE DONDE O QUE
NODO PROCEDE

Tomaremos un pedazo de mapa para


ejemplificar el
uso y aplicacin del
algoritmo de Dijkstra.

Ahora seleccionamos los puntos por los que se puede


pasar y trazar los posibles recorridos hasta
obtener un grafo. Veamos que distancia es mas
corta para ir del nodo A hacia el J
A

B
D
F

I
H

Los nodos tienen UNA


LETRA dentro de
ellos.
Y las ramas tienen su
distancia en Km. a un
lado quedando de
esta manera.

3
5

4
2

G
2

4
H

1
J

[0,-]

Seleccionamos el primer
nodo como punto de
partida y a partir de ah
empezamos el recorrido.
Este se convertir en
nuestro punto
permanente.
[0,-]

4
2

G
2

4
H

1
J

El nodo A hace conexin con


el nodo B por medio de la
rama con una distancia de 3,

la suma del valor de las


aristas.
Y el segundo numero
nos dice de que nodo

3
5

4
2

Donde el primer nmero es

[0,-]

por lo tanto
[3,A]

[3,A]

G
2

4
H

1
J

El nodo A tambin
hace conexin con el
nodo D.
El valor de la arista
es 3.
y como venimos
del nodo A queda
as:
[3,A]

[3,A]

[0,-]

3
D

[3,A]

7
1

4
2

G
2

4
H

1
J

[3,A]

[0,-]

Ahora seleccionamos
el menor nmero
acumulado, en este
caso ambos tienen el
mismo nmero
acumulado, entonces
se toma uno de
manera aleatoria,
esta vez tomamos el
nodo B

3
D

[3,A]

7
1

4
2

G
2

4
H

1
J

Ahora el nodo B
hace conexin con
el nodo C que
dando de esta
manera:
[4,B]
Pues es [3,A] mas
el peso o valor de
la arista en el
primer nmero.

[3,A]

[0,-]

C [4,B]

3
D

[3,A]

7
1

4
2

G
2

4
H

1
J

[3,A]

[0,-]

Pasa lo mismo
con el nodo F y
el valor de su
arista,
quedando
[10,B]

C [4,B]

3
D

[3,A]

7
1

4
2

F
[10,B]

E
3

G
2
I

4
H

1
J

[3,A]

[0,-]

Una vez que


terminamos los
caminos
tomamos de
nuevo el nmero
acumulado
menor, que es el
del nodo D.

C [4,B]

3
D

[3,A]

7
1

4
2

F
[10,B]

E
3

G
2
I

4
H

1
J

[3,A]

[0,-]

Se hace lo mismo
pero ahora el
camino es hacia
el nodo E,
quedando as.
[7,D]

C [4,B]

3
D

[3,A]

7
1

4
2
[7,D]

F
[10,B]

E
3

G
2
I

4
H

1
J

[3,A]

[0,-]

Tomamos como
referencia al
nodo C y
recorremos
todos los
caminos
posibles.

C [4,B]

3
D

[3,A]

7
1

4
2
[7,D]

F
[10,B]

E
3

G
2
I

4
H

1
J

[3,A]

[0,-]

C [4,B]

El siguiente
recorrido es
hacia el nodo
G y queda as.
[9,C]

[3,A]

7
1

4
2
[7,D]

F
[10,B]

E
3

G [9,C]
2
I

4
H

1
J

[3,A]

[0,-]

Tomamos como
referencia al
que tenga
menor
acumulacin,
que es el nodo
E.

C [4,B]

3
D

[3,A]

7
1

4
2
[7,D]

F
[10,B]

E
3

G [9,C]
2
I

4
H

1
J

[3,A]

[0,-]

C [4,B]

Movindonos
del nodo E al
H queda de
esta manera.
[10,E]

[3,A]

7
1

4
2
[7,D]

F
[10,B]

E
3

G [9,C]
2
I

4
H

[10,E]

1
J

El nodo E
tambin se
puede dirigir al
F, y como su
suma es menor
que 10 nos
quedamos con
la de menor
nmero.

[0,-]

C [4,B]

3
5

[3,A]

4
2
[7,D]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

[9,E]

[3,A]

1
J

Como [9,E] es
menor que
[10,B] nos
quedamos con
el primero.

[0,-]

C [4,B]

3
5

[3,A]

4
2
[7,D]

En este caso
solo
importa
el
primer
numero
que
esta
entre

[3,A]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

1
J

[3,A]

[0,-]

Dado que tenemos


que el nodo F y G
tienen igual distancia,
tomamos
aleatoriamente el
nodo F como nuestro
nodo permanente.

C [4,B]

3
D

[3,A]

7
1

4
2
[7,D]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

1
J

[3,A]

[0,-]

Ahora tomamos el
nodo con menor
distancia entre H y
G, en este caso
sera el nodo G
nuestro nuevo
nodo permanente.

C [4,B]

3
D

[3,A]

7
1

4
2
[7,D]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

1
J

[3,A]

[0,-]

C [4,B]

Se hace el
recorrido del
nodo G al I
quedando:
[11,G]

[3,A]

7
1

4
2
[7,D]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

1
J

[11,G]

[3,A]

[0,-]

C [4,B]

De nuevo
tomamos el
nodo con un
acumulado
menor como lo
es el H.

[3,A]

7
1

4
2
[7,D]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

1
J

[11,G]

[3,A]

[0,-]

C [4,B]

Seguimos el
camino al
nodo J
quedando
[15,H]

[3,A]

7
1

4
2
[7,D]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

[11,G]

1
J [15,H]

[3,A]

[0,-]

C [4,B]

Continuamos
con el
siguiente nodo
que es el I.

[3,A]

7
1

4
2
[7,D]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

[11,G]

1
J [15,H]

[3,A]

[0,-]

C [4,B]

Del nodo I al nodo J


queda el siguiente
camino que es

4
2
[7,D]

[12,I]

[3,A]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

[11,G]

1
J [15,H]
[12,I]

[3,A]

[0,-]

C [4,B]

Dado que [12,I] es


menor que [15,H]
eliminamos el mayor
y nos queda el
resultado final.

[3,A]

7
1

4
2
[7,D]

F
[10,B]
[9,E]

E
3

G [9,C]
2
I

4
H

[10,E]

[11,G]

1
J [15,H]
[12,I]

El camino ms corto
para ir del punto A al
punto J es el
siguiente:
I J
A
G12
DB
A C
B =

You might also like