Lista de adyacencia
-
Upload
frank-doria -
Category
Education
-
view
6.429 -
download
1
Transcript of Lista de adyacencia
![Page 1: Lista de adyacencia](https://reader030.fdocuments.ec/reader030/viewer/2022013105/55ad6c9c1a28abb04b8b4628/html5/thumbnails/1.jpg)
LISTAS DE ADYACENCIA.
En esta estructura de datos la idea es asociar a cada vértice i del
grafo una lista que contenga todos aquellos vértices j que sean
adyacentes a él. De esta forma sólo reservará memoria para los
arcos adyacentes a i y no para todos los posibles arcos que
pudieran tener como origen i. El grafo, por tanto, se representa por
medio de un vector de n componentes (si |V|=n) donde cada
componente va a ser una lista de adyacencia correspondiente a
cada uno de los vértices del grafo. Cada elemento de la lista
consta de un campo indicando el vértice adyacente. En caso de
que el grafo sea etiquetado, habrá que añadir un segundo campo
para mostrar el valor de la etiqueta.
Ejemplo. Caso 1 – grafo dirigido
![Page 2: Lista de adyacencia](https://reader030.fdocuments.ec/reader030/viewer/2022013105/55ad6c9c1a28abb04b8b4628/html5/thumbnails/2.jpg)
Caso 2 –Grafo no dirigido
Esta representación requiere un espacio proporcional a la suma del
número de vértices, más el número de arcos, y se suele usar cuando
el número de arcos es mucho menor que el número de arcos de un
grafo completo.
Una desventaja es que puede llevar un tiempo O(n) determinar si
existe un arco del vértice i al vértice j, ya que puede haber n vertices
en la lista de adyacencia asociada al vértice i.
![Page 3: Lista de adyacencia](https://reader030.fdocuments.ec/reader030/viewer/2022013105/55ad6c9c1a28abb04b8b4628/html5/thumbnails/3.jpg)
• Mediante el uso del vector de listas de adyacencias sólo se reserva
memoria para los arcos existentes en el grafo con el consiguiente
ahorro de la misma. Sin embargo, no permite que haya vértices que
puedan ser añadidos o suprimidos del grafo, debido a que la
dimensión del grafo debe ser predeterminado y fija. Para solucionar
esto se puede usar una lista de listas de adyacencia. Sólo los
vértices del grafo que sean origen de algún arco aparecerán en la
lista. De esta forma se pueden añadir y suprimir arcos sin
desperdicio de memoria ya que simplemente habrá que modificar la
lista de listas para reflejar los cambios.