Algoritmo de diseño y análisis curso de repaso de notas 10-- árbol recubridor mínimo
Expansión mínima MST árbol
problemas de la carretera
, una pequeña ciudad algunas casas y parte de la carretera, y cada conexión por carretera y la conexión sólo dos casas, los costes de mantenimiento conectados u y v casa camino es w (u, v),
y ahora necesita sólo lo suficiente para reparar la carretera tal que: para mantener la comunicación entre las dos casas cada uno, los costes de mantenimiento mínimos.
En la foto hay conectividad con la ventaja de la casa de dibujo, el vértice de los costes de mantenimiento de carreteras para el lado derecho.
Encuentra una T, T subconjuntos E y W (t) =
características árbol de expansión mínima
- No único
- sin bucle
- El número de lado MST es el número de vértices menos uno
MST generar
Procedimiento general:
crear un conjunto de aristas A, comenzando cuando la pieza
se añade gradualmente hacia el lado A y A es parte de un Grupo MST
si y sólo si A ∪ {(u, v) } es un subconjunto del MST, que dicho borde (u, v) es seguro para una
Un algoritmo general MST
Un ← conjunto vacío
, mientras que A no es un árbol de expansión (MST no se forma)
no Encuentra un borde (U, V) de una caja fuerte que es (a lado para encontrar seguro (U, V))
Un ← Un {∪ (U, V)}
devolver una
Cómo encontrar un lado de la seguridad?
Algunas definiciones:
- De corte: Los vértices de la gráfica en dos dos conjuntos desconectados S y V - S
- Si los dos puntos extremos de un borde de corte, respectivamente, en dos conjuntos S y V - S, decimos que corte a través del borde
- Una colección de corte de una no intervención conjunto A y el borde de corte no lo hacen de intersección
- corte de luz a lo largo del borde todos a través del borde de corte en el borde peso mínimo
Teorema:
A es un MST subconjunto, (S, V - S) es una no intervención de corte A, (u, v) se corta a través del borde de la luz, entonces, (u, v) es seguro para el A .
el algoritmo de Kruskal
- Cada vértice desde el principio, es decir, cada componentes de vértice
- Al seleccionar el lado de la luz LE, se quedará con los dos componentes están conectados entre sí
- Incrementando el conjunto de valores de prioridad por el orden de inspección de borde
- Ya sea para la conexión con un diferentes estructuras de datos de componentes conjunto relacionado de determinación borde
No es un conjunto de operaciones conexas
- MAKE-SET (u) para crear una colección, que contiene sólo los elementos u
- FIND-SET (u) que comprende una u, devuelve el elemento representativo
- Cualquier elemento del conjunto tiene un atributo particular
- conjunto
Característica está en orden alfabético primera letra
Ej: = {R, s, t, u}, FIND-SET (u) = r, FIND-SET (s) = r - Para un conjunto dado, devuelve el mismo valor
- UNIÓN (u, v) operación de fusión
Ej: = {r, s, t, u}, = {V, x, y}
UNION (u, v) = {r, s, t, u, v, x, y}
Kruskal (V, E, W)
A ←空集
para cada vértice v ∈ V
hacen-SET (v)
tipo E en orden no decreciente en peso w (权值递增排序)
para cada (u, v) tomada a partir de la lista ordenada
hacer si FIND-SET (u) ≠ FIND-SET (v) (属于不同的组件)
entonces A ∪ {← A (u, v)}
UNIÓN (u, v)
de retorno Un
los costes de funcionamiento:
Prim algoritmo
- Un conjunto de aristas forman un árbol de
- Desde el comienzo de alguna raíz seleccionada
- cada vez
- Identificar la hendidura ( , V - ) De Le
- La adición de un LE
- Repita hasta que todos los vértices en el árbol que comprende
- estrategia Greedy: cada adición de bordes laterales de los pesos de los árboles y el aumento mínimo
Cómo determinar rápidamente LE?
Use la cola de prioridad
- Incluye el vértice (V árbol no todos - )
- Cada vértice se le asigna un valor de clave, a saber, el árbol conectado a cualquier lado (U, v) un peso mínimo de v
si v y Cualquier vértice no está conectado, entonces el valor de la clave
los aumentos de nodo, los valores de clave de todos los nodos conectados a la misma hacer ajuste
Prim (V, E, W, r)
Q ←空集
para cada u ∈ V
clave hacer [u] ←
pi [u] ← NIL
tecla [r] ← 0
Q ← V
mientras que Q ≠空集
hacer u ← EXTRACT-MIN (Q)
para cada v ∈ Adj [u]
hacer si v ∈ Q y W (u, v) <tecla [v]
entonces π [v] ← u
tecla [v] ← w (u, v)
Análisis algoritmo
Referencia: maestros Profesor Khoo Teck cursos roja