La figura -6 estructura de datos

Seven, Fig.

1. Conceptos básicos

Vertex V, el conjunto de vértices relación el VR
① vértice: elemento de datos la figura se denomina vértices (nodos en el árbol como la diferencia entre dicho vértice)

Relación ② entre el vértice establecer el VR
E (conjunto de aristas): Ninguno de los conjunto de los vértices del gráfico
A (corriente de arco): conjunto de gráfico dirigido de vértices

③ arco (figura dirigida borde)
→ W V: V es el punto / extremo de inicio del arco, w es el arco punto / cabeza terminal (donde la flecha)


De
grafo no dirigido: el número de vértices adyacentes al vértice del lado llamado

Digraph: un arco en la cabeza del número de vértice del vértice se refiere
a es el número de vértices de la cola llama el vértice de


De red: con un derecho hasta el borde de la gráfica se denomina una gráfica ponderada, también conocida como red

Dirigido y no dirigida gráfico gráfica completa completa
con n vértices no dirigida grafo completo tiene n (n-1) / 2 bordes
de n nodos tener grafo completo tiene n (n-1) bordes


Path, el bucle de
ruta: una secuencia contigua de vértices consistentes en el orden incluso
longitud de la trayectoria: el número de caminos laterales superiores
, tales como (D, C), (C , B) es un camino de longitud 2

camino simple: la ruta no se repite la secuencia de vértices

Loop: la primera ruta y el último vértice mismo vértice

bucle simple: la secuencia de vértices figura, excepto para el primero y último vértice mismo vértice, no se producen los otros vértices bucle de repetición.

comunicación figura, conectado fuertemente figura.

La figura :( cualquier comunicación ① grafo no dirigido) tiene un camino (comunicación) entre dos vértices
(no conectado grafo no dirigido) se hace referencia como máximo comunicación subgrafo conectado componente

No hay n vértices tienen al menos n-1 aristas del gráfico conectado

② figura :( dígrafo fuertemente conectado) cualesquiera dos vértices vi, vj. vi a vj, vj vi tiene un camino a la
(la no conectado grafo dirigido) se hace referencia como máximo subgraphs fuertemente conectados componente fuertemente conectado
tiene n nodos del grafo fuertemente conectado de arcos al menos n


2. Gráficos Especial

Dirigido árbol

Si un grafo dirigido de exactamente en un vértice es 0, el resto de los vértices son 1, es un árbol dirigido.

Grafo acíclico dirigido (DAG)

dígrafo acíclico

Se determina si un anillo tiene ① ② recorrido en profundidad del grafo dirigido topológica clasificación


3. La estructura de almacenamiento de la figura;

3-1 matriz de adyacencia (almacenamiento secuencial)

matriz de adyacencia espacial ocupa número de punto del nodo de almacenamiento sólo en las figuras relacionadas con, sin importar el número de densas matrices laterales adecuado ⇒

(1) grafos no dirigidos:
A [i] [j] = 1, i de vértices adyacentes al vértice j

A [i] [j] = 0, el vértice de vértices i y j no son adyacentes (i = j incluye a)

Es una matriz simétrica y sin la matriz de adyacencia


(2) gráfico dirigido:
A [i] [j] = Wij, si (vi, vj), o <vi, vj> ∈VR

A [i] [j] = ∞, y viceversa (incluyendo i = j)


3-2 lista de adyacencia (cadenas de tiendas)

El espacio de almacenamiento adyacente a la número de la tabla y el número de cifras y el número de nodos relacionados bordes alrededor de matriz dispersa adecuado ⇒

(1) i para el establecimiento de una lista única para cada vértice de una lista única para cada nodo, es decir, un solo vértice para almacenar el encabezado de la lista (información), información sobre restante lado del nodo de almacenamiento.

(2) un único vértice puede ser apreciado por la lista de vértice y la mesa parte de borde sección de la tabla, el nodo de lista borde de almacenamiento conectado al vértice adyacente y el número vértice actual y un puntero al siguiente lado de los nodos

(3) una sola lista de todos los nodos de cabecera nodos (nodos de vértice) se almacenan secuencialmente en una matriz

(4) ① lista de adyacencia gráfico dirigido: lista enlazada único almacenado para cada punto de cada arco en la cabeza vértice.
② revertir lista de adyacencia gráfico dirigido: lista enlazada único almacenado para cada punto del arco vértice hasta el final del arco

El adyacente multi-tabla 3-3: doble lado de la mesa adyacente

Se adjunta a la misma cara de todos los vértices en la lista de la misma serie

Así, cada nodo de borde en los dos enlaces simultáneamente (ápice) de la lista


4. Loop



recorrido de búsqueda en profundidad (pseudocódigo)

Preorden recorrido del árbol similares

Pensamiento:
primera visita punto de partida V, que está marcado como accesible;
seleccionar arbitrario V vértice unvisited adyacente w, y acceder a ella;
cualquier w y seleccione el vértice unvisited adyacente y visitar un repetido llevado a cabo.
Cuando todos los vértices adyacentes un vértice han sido visitados anticuado, a continuación, dar la vuelta al vértice visitado recientemente

Aplicación de centro / test

1. medios pila de estadificación recursivas ⇒ nodo

2. Una profundidad-primero (DFS) búsquedas pueden atravesar una rama comunicación.
Para acceder a todos los nodos, debe llamar al (K) veces el algoritmo recorrido en profundidad
veces la profundidad de los componentes k conectado figura deberá llamar al (k) primero algoritmo de recorrido

Nunca salida con una cualquiera de vértices de un gráfico, una vez DFS para acceder a todos los nodos, la vista figura comunicación debe (sólo un componente conectado)

169 libros de texto


3. lata Analizar sin / con si un bucle / loop la figura
(1) grafo no dirigido: dfs dorso encontrado (lado del vértice se ha visitado) ⇒ debe haber un anillo

(2) dirigido gráfico: J es el conocidos que abarcan descendientes de vértice árbol de vértice v (v → j)
aparece un lado (→ v j) desde el vértice a vértice v j ⇒ fig antes, cuando DFS (v) End v y j debe haber un anillo que comprende

(Tianqin 216-16)

4. Puede haber un tipo topológico de un grafo acíclico dirigido, una profundidad-primero métodos de recorrido.
Imprimir vértice correspondiente, la salida de secuencia de vértice de la pila de retorno topología inversa es empujado

183 libros de texto



traversal BFS (pseudo-código)

Niveles similares de recorrer el árbol (la necesidad de utilizar la misma cola)

Pensamiento: la primera visita a partir del vértice v,
y luego seleccionar todos los vértices adyacentes v W1 ... wn acceso,
a su vez accede a W1 ... wn de todos los vértices adyacentes (salvo que ya visitó), y así sucesivamente.


ejecución del algoritmo: ① en la figura o bien tomar un acceso enqueuing vértice, y el vértice marcado como visitado

② Cuando la cola no está vacía cuando se ejecuta el bucle: quitadas de la cola, la comprobación de todos quitadas de la cola vértice vértices adyacentes, el acceso no ha sido visitado vértices y enqueue adyacentes

③ equipo fuera del circuito está vacía

solicitud

1. Cuando cada lado del mismo peso (equivalente a la figura no la derecha), primero en amplitud búsqueda de recorrido puede ser usado para resolver la fuente única problema del camino más corto
⇒ desde la fuente hasta el vértice restante de la ruta más corta es siempre

Para un igual / no tiene derecho a la derecha en la Fig. La figura, la fuente de BFS siempre de acuerdo a la distancia (0 grados) para atravesar de cerca a lejos
distancia se refiere al número de vértices de los puntos de vértice de corriente en la ruta de origen (como será apreciado árbol de expansión el número de capas)

(Tianqin 216-17)

2. Medios de cola para almacenar temporalmente nodo


complejidad del tiempo

La figura poligonal sustancialmente adyacente a cada punto del proceso de vértice para encontrar su
búsqueda para encontrar vértices de borde adyacentes + ⇒ vecino
es obviamente el / anchura transversal misma complejidad profundidad tiempo (dependiendo de la estructura de la memoria), pero orden de acceso diferentes vértices


(1) la matriz de adyacencia : complejidad de tiempo es 0 (N $ ² $);
almacenamiento matriz de adyacencia, independientemente <Vi, Vj> si existe una ruta de acceso, será atravesada cada lado.
tamaño de la matriz n * n, es decir, el tiempo de complejidad de O (N $ ² $)

(2) adyacente a la mesa, la complejidad de tiempo de 0 (n + e)
Si el uso del almacenamiento mesa adyacente, para cada tiempo de acceso de nodo, cada camino tiene un acceso lateral, la complejidad de tiempo es O (n + e)



Los sitios de ensayo:

No sin relación a su orden vértice transversal de la estructura de almacenamiento de la figura.


El árbol de expansión (con / no dirigida)

La figura no hay que abarca la comunicación del árbol

/ Búsqueda en anchura (generación) Árbol de profundidad: la figura profundidad / primero en amplitud de recorrido de búsqueda experimentado durante la parte de retención, los lados restantes eliminado, árboles formado

Árbol de expansión mínima (para grafos no dirigidos)

Comunicación ponderado mínimo de árbol de expansión (no dirigida) gráfico con n vértices: peso de la banda y la suma mínima de n comunicación subgrafo de vértices

N vértices árbol de expansión, y sólo los n-1 lados;


(1) Prim algoritmo vecino (pseudo)

Cada vez que la selección lateral más pequeña (conectado a la arista seleccionada) del lado adyacente, (con el lado seleccionado) de circuito configurado para descartar tiempos seleccionados pequeño labio

complejidad tiempo es 0 (N $ ² $), con vértices en el gráfico que relaciona solamente (independiente del número de bordes) ⇒ densa adecuado figura

Cada peso mínimo de adyacencia hallazgo matriz de punto de adyacencia requiere borde 0 tiempo (n)

completo título (Tabla pintura): 2007 sexto título global título / título en 13 años en general séptimo título


(2) la prueba de Kruskal (ficticio)

Selección de un lado más pequeño de cada uno de los lados no está seleccionado, y (borde seleccionado) renunciar circuito configurado para seleccionar el lado segunda más pequeña

complejidad Time (elog₂e), el número de bordes E de la gráfica (independientemente del número de vértices) aplicado a una figura escasa ⇒

E lados en el peso mínimo para encontrar un heapsort viaje ⇒ 0 (log₂e)
se selecciona a partir d e ⇒0 (elog₂e)


sitios de prueba

1: El único coste del árbol de expansión mínimo

2: borde mínimo de peso no necesariamente va a aparecer en todo el árbol de expansión mínima

3: un gráfico (o comunicación incluso) árbol de expansión (morfología) no es necesariamente la única

4: algoritmo de árbol de expansión mínimo Prim y morfología no es siempre diferente krustal


6. El camino más corto (gráfico dirigido)

Dijkstra

Un camino más corto a los vértices restantes cada vértice de
la grafo dirigido {V, E}, como un conjunto de puntos V

Pensamiento: vo∈ conjunto inicial S (S VO camino más corto hacia el vértice se ha determinado)
cada vez que un conjunto de arcos de S a cada conjunto de vértices VS selecciona más corta
vértice w que está conectado en S y, a continuación, a un punto intermedio w , vo ~ w
conjunto actualización S para cada conjunto de vértices VS ponderado por la longitud


1. Título Código
P [v]: vo al nodo en el camino más corto vértice restante v
P [v] [w] = cierto: la w nodos en el camino más corto a v v0

D [v]: vo a v ponderado longitud de la trayectoria más corta
final [v] = true: se ha obtenido el camino más corto vo v (en el conjunto S)

matriz de adyacencia ponderado: <i, i> = ∞

Código: (1) para todos los vértices v (0 ~ vexnum-1)
inicializa final [V], D [V], P [V] [W]
(2) de inicialización, vo perteneciente al conjunto S
(3) para encontrar la más corta de arco vw el conjunto S en w
(4) y actualiza la longitud del camino más corto

2. Paint (hoja de cálculo) del título
ha sido incorporado en el vértice (S), que no incorpora el ápice (VS),
dist [] es decir, D [], el ponderado longitud del camino más corto
camino [W]: v0-w de la secuencia de camino más corto w un nodo

15 años de título séptimo título global



Floyd (ruta más corta entre cada par de vértices)

La complejidad de tiempo de 0 (N $ ³ $)



7. topología (grafo acíclico dirigido)

AOV

Del gráfico acíclico dirigido G (sólo un borde lateral de la flecha) clasificación topológica, no necesariamente la única topología secuencia
de G todos los vértices dispuestos en una secuencia lineal, de tal manera que cualquier par de vértices figura u y v, si está presente, de la U para v camino, entonces la secuencia de clasificación topológica debe aparecer delante de v T

Sitios de prueba / aplicaciones

1: dirigida gráfico de adyacencia de almacenamiento de la matriz, elementos de la matriz por debajo de la diagonal principal son todos cero topológica ⇒ secuencia puede no ser único, pero la FIG.

2. El número de vértices fuerte gráfico debe ser mayor que un anillo

3: un algoritmo de clasificación topológica basado en el vector de tipo de adyacencia topológica almacenado en una red AOV, la topología de una secuencia ordenada obtenida no es necesariamente único

4: ordenamiento topológico se puede determinar si el circuito en la figura
topológica Ordenar figura Si un completado, este circuito no existe en la fig.



ruta crítica, AOE (Actividad en el lado)

1. El concepto de
camino crítico: desde el punto de origen (0 grados) a hundirse todos los caminos (un 0 grados), el camino que tiene una longitud de trayectoria máxima

Representante camino más largo plazo ② ① figura finalización de tiempo mínimo

Critical Path no es único

(1) extensión de la finalización de las actividades clave afectará el tiempo de finalización de todo el proyecto
(2) Una de las principales actividades completado antes de lo previsto, todo el proyecto no puede ser completado antes de tiempo

cuando existe un número de ruta crítica, el momento en el que la actividad en una ruta crítica sólo se acorta en esta sección se dará lugar a la ruta crítica se convierte en camino no crítica, pero no se puede acortar el período de construcción

2. camino crítico
eventos tempranos proporcionadas VE (k) es el vértice k representa el tiempo, es decir, el camino desde el punto de origen en el vértice en el k más largo: se producen tiempo más temprano. Máximo: asegurar que las actividades se puede completar en frente

Tiempo sin posponer la realización de todo el proyecto, el último evento ocurrió: se produjo el último momento

Buscando ruta crítica
(1) Encontrar el evento de tiempo más temprana cinco (i) se produce
① de la figura tiene que ser resuelto topológicamente, secuencia clasificación topológica vértices obtenidos
② la fuente del evento de conjunto 0 VE (0) = 0
③ obtiene secuencialmente cada vértice que representa eventos tiempo más temprano, teniendo el lado más largo

(2) tiempo requerido vl evento (i) se produce en el último:
① n el receptor de sucesos dispuesto dispuesta VL (n) = VE (n)
② a su vez provisto de una conexión fregadero evento (punto) vl
evento k, vl (k) es el vl (j) - después de (<k, j> peso) Min

Mínimo: Todos los dos nodos sucesores, para garantizar que ambas partes tienen que ser capaces de completar
el sucesor evento nodo k tiene m, n,
entonces VL (k) = min {vl (m) - <k, m>, vl (n) - <K, n->}


encontrar los primeros eventos / último tiempo ocurrencia (3).
① tiempo más temprano evento e (ak) = evento se produce el tiempo de aparición del evento de la máxima
actividad último tiempo l (ak) ② = punto final de la actividad de tiempo la última hora de ocurrencia - duración de la actividad

sitios de prueba

1. Algunas actividades clave completado antes de lo previsto, no necesariamente todo el proyecto terminado antes de lo previsto
(puede haber varios caminos críticos, ruta crítica puede no incluir otras actividades clave completados por adelantado)

2.13 Integral preguntas Q7 / 2007 cuarto título título general

Publicado 46 artículos originales · elogios ganado 15 · Vistas a 30000 +

Supongo que te gusta

Origin blog.csdn.net/qq_41850194/article/details/102742252
Recomendado
Clasificación