Trabajo estructura de_datos_subir

17

description

trabajo original

Transcript of Trabajo estructura de_datos_subir

Page 1: Trabajo estructura de_datos_subir
Page 2: Trabajo estructura de_datos_subir

Un Grafo es una estructura de datos que representa información de una manera no lineal ni

jerárquica un grafo se representa mediante una serie de puntos (los vértices) conectados por líneas

(las aristas).

Un grafo dirigido G consiste en un conjunto de vértices V y un conjunto de arcos o aristas A. Los

vértices se denominan también nodos o puntos. Un arco, es un par ordenado de vértices (V,W) donde

V es el vértice inicial y W es el vértice terminal del arco. Un arco se expresa como: V–>W

Si los pares de nodos en los arcos dirigidos, el grafo se denomina grafo directo, dirigido o dígrafo.

Page 3: Trabajo estructura de_datos_subir

Tipos de Grafos•Grafo regular: Aquel con el mismo grado en todos los vértices. Si ese grado es k lo

llamaremos k-regular.

Por ejemplo, el primero de los siguientes grafos es 3-regular, el segundo es 2-regular y

el tercero no es regular

•Grafo bipartito: Es aquel con cuyos vértices pueden formarse dos conjuntos disjuntos

de modo que no haya adyacencias entre vértices pertenecientes al mismo conjunto.

•Grafo completo: Aquel con una arista entre cada par de vértices. Un grafo completo con

n vértices se denota Kn.

•Grafo nulo: Se dice que un grafo es nulo cuando los vértices que lo componen no están

conectados, esto es, que son vértices aislados.

Page 4: Trabajo estructura de_datos_subir

Lazo o bucle es aquel cuyas terminales son el mismo nodo; suponiendo G(N, S) un grafo y N´ un

subconjunto de N así mismo S´ un subconjunto de S cuyas terminales pertenecen a N.

LAZO O BUCLE

Page 5: Trabajo estructura de_datos_subir

Un camino en un grafo es una sucesión finita en la que aparecen alternadamente vértices y aristas

de dicho grafo. Otras definiciones básicas son:

Los extremos son los vértices iniciales y final del camino.

La longitud de un camino es el número de aristas que contiene.

Un camino es cerrado si sus extremos coinciden.

Un camino es simple si en la sucesión de vértices no hay ninguno repetido.

Un ciclo es un camino cerrado donde los únicos vértices repetidos son el primero y el último.

Un circuito es un camino cerrado que no repite aristas.

Si en un grafo existe un camino que conecta dos vértices distintos, entonces existe un camino

simple con extremos en dichos vértices.

Page 6: Trabajo estructura de_datos_subir

Un Grafo ciclo o simplemente ciclo es un grafo que se asemeja a un polígono de n lados.

Consiste en un camino cerrado en el que no se repite ningún vértice a excepción del primero

que aparece dos veces como principio y fin del camino. Un Grafo ciclo de n vértices se denota

Cn. El número de vértices en un grafo Cn es igual al número de aristas, y cada vértice tiene

grado par, por lo tanto cada vértice tiene dos aristas incidentes.

Ciclo

Cn

Grafo ciclo dirigidoUn grafo ciclo dirigido es una versión dirigida de un grafo ciclo, con todas las aristas orientadas

hacia una misma dirección.

Page 7: Trabajo estructura de_datos_subir

En un Grafo ciclo dirigido, el grado de salida del vértice es 1 y el de entrada también es 1.

Page 8: Trabajo estructura de_datos_subir

Un grafo es conexo si cada par de vértices está conectado por un camino; es decir, si para

cualquier par de vértices (a, b), existe al menos un camino posible desde a hacia b.

Un grafo es doblemente conexo si cada par de vértices está conectado por al menos dos caminos

disjuntos; es decir, es conexo y no existe un vértice tal que al sacarlo el grafo resultante sea

disconexo.

Page 9: Trabajo estructura de_datos_subir

En términos matemáticos la propiedad de un grafo de ser (fuertemente) conexo permite establecer

con base en él una relación de equivalencia para sus vértices, la cual lleva a una partición de éstos

en "componentes (fuertemente) conexas", es decir, porciones del grafo, que son (fuertemente)

conexas cuando se consideran como grafos aislados. Esta propiedad es importante para muchas

demostraciones en teoría de grafos.

Page 10: Trabajo estructura de_datos_subir

Un grafo que no tiene ciclos y que conecta a todos los puntos, se llama un árbol. En un

grafo con n vértices, los árboles tienen exactamente n - 1 aristas, y hay nn-2 árboles

posibles. Su importancia radica en que los árboles son grafos que conectan todos los

vértices utilizando el menor número posible de aristas. Un importante campo de

aplicación de su estudio se encuentra en el análisis filogenético, el de la filiación de

entidades que derivan unas de otras en un proceso evolutivo, que se aplica sobre todo

a la averiguación del parentesco entre especies; aunque se ha usado también, por

ejemplo, en el estudio del parentesco entre lenguas.

Un árbol dirigido es un grafo dirigido que sería un árbol si no se consideraran las

direcciones de las aristas. Algunos autores restringen la frase al caso en el que todos

las aristas se dirigen a un vértice particular, o todas sus direcciones parten de un vértice

particular.

Page 11: Trabajo estructura de_datos_subir

Un árbol recibe el nombre de árbol con raíz si cada vértice ha sido designado raíz, en cuyo caso

las aristas tienen una orientación natural hacia o desde la raíz. Los árboles con raíz, a menudo con

estructuras adicionales como orden de los vecinos de cada vértice, son una estructura clave en

informática.

Un árbol etiquetado es un árbol en el que cada vértice tiene una única etiqueta. Los vértices de un

árbol etiquetado de n vértices reciben normalmente las etiquetas {1,2, ..., n}.

Un árbol regular (homogéneo) es un árbol en el que cada vértice tiene el mismo grado

Page 12: Trabajo estructura de_datos_subir

En teoría de grafos, un grafo completo es un grafo simple donde cada par de vértices está

conectado por una arista.

Un grafo completo de n vértices tiene n(n − 1) / 2 aristas, y se nota Kn. Es un grafo regular con

todos sus vértices de grado n − 1. Ningún grafo completo tiene lazos y está conectado totalmente,

por ende, la única forma de hacer disconexo el grafo con una eliminación de vértices es aplicarla a

todos.

En ciertos casos es necesario asociar información a los arcos del grafo. Esto se puede lograr

mediante una etiqueta que contenga cualquier información útil relativa al arco, como el

nombre, peso, coste o un valor de cualquier tipo de datos dado. En este caso hablamos de grafos

etiquetados. Esta etiqueta podría significar el tiempo que se tarda el vuelo entre dos ciudades o

indicar cuáles son los parámetros de entrada y de salida en la llamada a un subprograma.

Page 13: Trabajo estructura de_datos_subir

En el caso del grafo que representa el sentido del tráfico se pueden etiquetar los arcos con el

nombre de las calles.

Page 14: Trabajo estructura de_datos_subir

Un multígrafo o pseudografo es un grafo que está facultado para tener aristas múltiples; es

decir, aristas que relacionan los mismos nodos. De esta forma, dos nodos pueden estar

conectados por más de una arista. Formalmente, un multígrafo G es un par ordenado G:=(V, E)

donde:

•V es un conjunto de vértices o nodos

•E es un multiconjunto de pares no ordenados de nodos, llamados aristas o líneas.

Ejemplo. Los multígrafos podrían usarse, por ejemplo, para modelar las posibles conexiones de

vuelo ofrecidas por una aerolínea. Para este caso tendríamos un grafo dirigido, donde cada nodo

es una localidad y donde pares de aristas paralelas conectan estas localidades, según un vuelo es

hacia o desde una localidad a la otra.

Page 15: Trabajo estructura de_datos_subir

Una matriz de adyacencia es una matriz M de dimensión n*n, en donde n es el número de vértices

que almacena valores booleanos, donde M [i,j] es verdadero (o contiene un peso) si y solo si existe

un arco que vaya del vértice i al vértice j. La inicialización llevaría un tiempo del O (#(V2)).

Construcción de la matriz a partir de un grafo•Se crea una matriz cero, cuyas columnas y filas representan los nodos del grafo.

•Por cada arista que une a dos nodos, se suma 1 al valor que hay actualmente en la ubicación

correspondiente de la matriz.

Page 16: Trabajo estructura de_datos_subir

Si tal arista es un bucle y el grafo es no dirigido, entonces se suma 2 en vez de 1.

Finalmente, se obtiene una matriz que representa el número de aristas (relaciones) entre cada par

de nodos (elementos).

Existe una matriz de adyacencia única para cada grafo (sin considerar las permutaciones de filas o

columnas), y viceversa.

Page 17: Trabajo estructura de_datos_subir

La matriz de adyacencia para el grafo no dirigido de la Figura anterior viene dada por: