Professional Documents
Culture Documents
Las redes LAN Ethernet estn sometidas a mltiples limitaciones fruto de utilizar un medio
compartido sometido a ruido y atenuaciones, y la existencia de condiciones operativas como la
presencia potencial de colisiones y una ventana de tiempo asociada (ventana de colisiones).
La forma de expandir una red LAN Ethernet sin afectar la performance de la misma, es
separando segmentos de red. Hay 2 formas de segmentar la red:
1. Inicializar todas las distancias en D con un valor infinito relativo ya que son
desconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a que la
distancia de x a x sera 0.
2. Sea a = x (tomamos a como nodo actual).
3. Recorremos todos los nodos adyacentes de a, excepto los nodos marcados, llamaremos
a estos nodos no marcados vi.
4. Para el nodo actual, calculamos la distancia tentativa desde dicho nodo a sus vecinos
con la siguiente frmula: dt(vi) = Da + d(a,vi). Es decir, la distancia tentativa del nodo vi
es la distancia que actualmente tiene el nodo en el vector D ms la distancia desde dicho
el nodo a (el actual) al nodo vi. Si la distancia tentativa es menor que la distancia
almacenada en el vector, actualizamos el vector con esta distancia tentativa. Es decir:
Si dt(vi) < Dvi Dvi = dt(vi)
5. Marcamos como completo el nodo a.
6. Tomamos como prximo nodo actual el de menor valor en D (puede hacerse
almacenando los valores en una cola de prioridad) y volvemos al paso 3 mientras
existan nodos no marcados.
Una vez terminado al algoritmo, D estar completamente lleno.
COMPLEJIDAD
Orden de complejidad del algoritmo: O(|V|2+|A|) = O(|V|2) sin utilizar cola de
prioridad, O((|A|+|V|) log |V|) = O(|A| log |V|) utilizando cola de prioridad (por ejemplo un
montculo). Por otro lado, si se utiliza un Montculo de Fibonacci, sera O(|V| log |V|+|A|).
La la complejidad computacional del algoritmo de Dijkstra se puede calcular contando las
operaciones realizadas:
El algoritmo consiste en n-1 iteraciones como mximo. En cada iteracin se aade un
vrtice al conjunto distinguido.
En cada iteracin se identifica el vrtice con la menor etiqueta entre los que no estn en
Sk. El nmero de estas operaciones est acotado por n-1.
Adems se realizan una suma y una comparacin para actualizar la etiqueta de cada uno
de los vrtices que no estn en Sk.
Luego, en cada iteracin se realizan a lo sumo 2(n-1) operaciones. Entonces
tenemos: TEOREMA: El Algoritmo de Dijkstra realiza O(n2) operaciones (sumas y
comparaciones) para determinar la longitud del camino ms corto entre dos vrtices de un
grafo ponderado simple, conexo y no dirigido con n vrtices.
VESIN EN C DEL ALGORITMO DE DIJKSTRA