12
ALGORITMO DE KRUSKAL

Algoritmo de KruskaL

Embed Size (px)

DESCRIPTION

KRUSKAL

Citation preview

Algoritmo de Dijkstra

Algoritmo de KruskaLIntroduccin

El Algoritmo de Expansin mnima es otro algoritmo de la teora de grafos al igual que el algoritmo de Dijkstra que busca encontrar un rbol recubridor mnimo de un grafo dado.En pocas palabras este algoritmo es un algoritmo voraz que busca mejorar la eficiencia a la hora de recorrer un grafo conexo y ponderado, tratando de buscar el menor recorrido.

Marco Terico

rbol de Expansin

Marco Terico

rbol de Expansin Mnima

Algoritmo de Kruskal

Primeramente ordenaremos las aristas del grafo por su peso de menor a mayor. Mediante la tcnica greedy Kruskal intentara unir cada arista siempre y cuando no se forme un ciclo, ello se realizar medianteUnion-Find. Como hemos ordenado las aristas por peso comenzaremos con la arista de menor peso, si los vrtices que contienen dicha arista no estn en la misma componente conexa entonces los unimos para formar una sola componente mediante Union(x , y), para revisar si estn o no en la misma componente conexa usamos la funcin SameComponent(x , y) al hacer esto estamos evitando que se creen ciclos y que la arista que une dos vrtices siempre sea la mnima posible.

Complejidad del AlgoritmoCon la condicin de que las aristas estn ordenadas o puedan ser ordenadas en un tiempo lineal (por ejemplo, mediante el ordenamiento por cuentas o con el ordenamiento Radix), el algoritmo puede usar estructuras de datos de conjuntos disjuntos ms complejas para ejecutarse en tiempos del orden de O(m (n)), donde es la inversa (tiene un crecimiento extremadamente lento) de la funcin de Ackermann.

Ventajas y CaractersticasVentajasEficientemente en recorrido del grafoComplejidad menor con respectos a otros algoritmos

CaractersticasAlgoritmo vorazUtiliza teora de grafosRecorrido eficiente

Algoritmo de Dijkstra

IntroduccinHoy en la actualidad siempre buscamos facilidades para nuestra vida, hacer las cosas de una manera ms sencilla, como compras online, ver el mundo a travs de una pantalla, ver conciertos en vivo, en fin un sin nmero de cosas que nos facilita la vida. Todo lo ya mencionado no sera posible sin algoritmos que nos ayudan a que todo esto sea fcil; en el presente informe presentaremos un algoritmo que es de gran ayuda hoy en da en diferentes aspectos ya que adems de ayudarnos en aplicaciones para un celular o web nos ayudada en nuestra vida cotidiana.El Algoritmo de Dijkstra es un algoritmo que nos ayuda a encontrar la ruta ms corta, lo cual significa que nos da de manera ptima una ruta para ahorrar recursos y as poder lograr nuestro cometido de una manera ms fcil y eficiente.Marco TericoLa idea subyacente en este algoritmo consiste en ir explorando todos los caminos ms cortos que parten del vrtice origen y que llevan a todos los dems vrtices; cuando se obtiene el camino ms corto desde el vrtice origen, al resto de vrtices que componen el grafo, el algoritmo se detiene. El algoritmo es una especializacin de la bsqueda de costo uniforme, y como tal, no funciona en grafos con aristas de coste negativo (al elegir siempre el nodo con distancia menor, pueden quedar excluidos de la bsqueda nodos que en prximas iteraciones bajaran el costo general del camino al pasar por una arista con costo negativo).

ComplejidadEl 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.Ventajas y CaractersticasVentajasAnaliza cada mtrica de coste para elegir la mejor ruta con el mnimo coste.Cada uno de los nodos posee una informacin sobre la ubicacion del otro nodo.Eficiencia en los recursos.

CaractersticasDetermina el camino ms corto dado un vrtice origen.Utiliza un tipo de estructura de cola llamado cola de prioridad.