“Conocimiento software>compresión de datos

¿Cuál es la complejidad espacial de una estructura de datos de la lista de adyacencia?

2011/2/16
La complejidad del espacio de una estructura de datos de la lista de adyacencia es o (v + e) ​​ , dónde:

* V es el número de vértices (nodos) en el gráfico.

* e es el número de bordes en el gráfico.

Explicación:

1. Vértices: Debe almacenar cada vértice en el gráfico al menos una vez (por ejemplo, en una matriz, tabla hash o alguna otra estructura que se asigna a la lista de sus vecinos). Esto contribuye a O (V) a la complejidad del espacio.

2. Bordes: Para cada vértice, almacena una lista de sus vértices adyacentes (sus vecinos). En una representación simple, cada borde (o una referencia/puntero a un vecino) se almacena una vez para cada vértice al que está conectado. Por lo tanto, en total, todos los bordes se almacenan en las listas.

* En un gráfico no dirigido , cada borde (u, v) se almacenará dos veces:una vez en la lista de adyacencia de Vértice `U` y una vez en la lista de adyacencia de Vértice` V`. Por lo tanto, almacenará efectivamente 2 * E bordes. Sin embargo, el factor constante (2) se cae en la notación grande o, dejándonos con o (e).

* En un gráfico dirigido , cada borde (u -> v) se almacena solo una vez, en la lista de adyacencia de Vértice `U`. Entonces almacenará E bordes, lo que se traduce en O (E).

por qué o (v + e) ​​es importante:

* gráficos escasos: Cuando E es significativamente más pequeño que V 2 (un gráfico escaso), la lista de adyacencia es mucho más eficiente en el espacio que la matriz de adyacencia, que tiene una complejidad espacial de O (V 2 ).

* gráficos densos: Cuando E está más cerca de V 2 (un gráfico denso), la complejidad espacial de ambas representaciones se vuelve similar. Sin embargo, los factores constantes en la implementación aún pueden marcar la diferencia.

Ejemplo:

Considere un gráfico con 5 vértices (A, B, C, D, E) y 6 bordes:

* A <-> B

* A <-> C

* B <-> c

* B <-> D

* C <-> e

* D <-> E

Aquí, V =5 y E =6.

La lista de adyacencia requeriría espacio para:

* Almacenamiento de los 5 vértices (O (V)).

* Almacenamiento de las 12 referencias a los vecinos (6 bordes, cada uno almacenado dos veces porque es un gráfico no dirigido - O (2e) =O (e)).

Por lo tanto, el espacio total es O (V + E) =O (5 + 6) =O (11).

En resumen: Las listas de adyacencia proporcionan una forma eficiente en el espacio de representar gráficos, especialmente gráficos dispersos, ya que su complejidad espacial escala linealmente con el número de vértices y bordes.

compresión de datos
Cómo quitar un disco Zip de un mal Drive
Cómo comprimir QuickTime
Cómo agregar comentarios al archivo Zip LFN
Las ventajas de un disco Zip
Cómo comprimir y descomprimir archivos
¿Cuál es el algoritmo que comprime y descomprime archivos de video?
Cómo comprimir altamente Archivos
Cómo comprimir archivos de Super
Conocimiento de la computadora © http://www.ordenador.online