Integrantes: ngel de Jess Ballesteros Castan Ivan Guadalupe Campos Castro Josua Hernndez Islas
CONTENIDO Introduccion ................................................................................................................................................ Error! Bookmark not defined. Propiedades de los arboles ........................................................................................................................................................................ 4 Estructura de un arbol ............................................................................................................................................................................... 4 Clasificacin de los arboles ........................................................................................................................................................................ 5 Tipos de rboles ......................................................................................................................................................................................... 7 BOSQUES DE RBOLES. ............................................................................................................................................................................ 10 Arboles con peso ...................................................................................................................................................................................... 10 Aplicaciones de rboles ........................................................................................................................................................................... 11 RECORRIDO DE UN GRAFO. ..................................................................................................................................................................... 13 REPRESENTACIN DE GRAFOS EN PROGRAMAS. .................................................................................................................................... 14 BOSQUES DE RBOLES ............................................................................................................................................................................. 14 APLICACIONES DE LOS DIGRAFOS ............................................................................................................................................................ 14
INTRODUCCIN: Los rboles forman una de las subclases de grficas que ms se utilizan. La ciencia de la computacin hace uso de los rboles ampliamente, especialmente para organizar y relacionar datos en una base de datos. Los rboles surgen en problemas tericos como el tiempo ptimo para ordenar.
Formalmente se define un rbol de tipo T como una estructura homognea que es la concatenacin de un elemento de tipo T junto con un nmero finito de rboles disjuntos, llamados subrboles.
Una forma particular de rbol puede ser la estructura vaca. Un rbol es un grafo simple en el cual existe un nico camino entre cada par de vrtices.
Los rboles pueden ser construidos con estructuras estticas y dinmicas. Las estticas son arreglos, registros y conjuntos, mientras que las dinmicas estn representadas por listas. Sea G = (V, A) un grafo no dirigido. G se denomina ARBOL, si es conexo y no contiene ciclos.
Ejemplo de un rbol:
Otros ejemplos de rbol: En donde: Los grafos G1 y G2 son rboles, mientras que los grafos G3 y G4 no lo son.
PROPIEDADES DE LOS ARBOLES
Un rbol es un grafo simple en el cual existe un nico camino entre cada par de vrtices.
Sea G = (V, A) un grafo no dirigido. G se denomina RBOL, si es conexo con n nodos y n- 1 aristas y no contiene ciclos.
Formas equivalentes de definir un rbol. Un rbol es un grafo conexo con n nodos y n-1 aristas. Un rbol es un grafo conexo que no contiene ciclos. Un rbol es un grafo con n nodos, n -1 arista y sin ciclos. Un rbol es un grafo tal que entre cualquier par de nodos distintos existe un camino simple nico.
Propiedades:
Existe un nico paseo entre dos vrtices cualesquiera de un rbol. El nmero de vrtices es mayor en uno al nmero de aristas de un rbol. Un rbol con dos o ms vrtices tiene al menos dos hojas. Un rbol T (libre) es una grfica simple que satisface lo siguiente; si v y w son vrtices en T, existe una trayectoria simple nica de v a w.
ESTRUCTURA DE UN RBOL Un rbol est divido en tres subconjuntos separados. El primer subconjunto contiene un nico elemento llamado raz del rbol. Los otros 2 subconjuntos son por si mismos rboles binarios y se les conoce como subrboles izquierdo y derecho del rbol original. Cada elemento de un rbol binario se denomina nodo. La ausencia de una ramificacin indica un subrbol vaco. Si A es la raz de un rbol binario y B es la raz de su subrbol izquierdo o derecho, se dice que A es el padre de B y se dice que B es el hijo izquierdo o derecho de A. Un nodo que no tiene hijos se denomina hoja. El nodo n1 es un ancestro del nodo n2 (y n2 es un descendiente de n1) si n1 es el padre de n2 o el padre de algn ancestro de n2. 2 nodos son hermanos si son los hijos izquierdos y derecho del mismo padre. Si cada nodo que no es hoja es un rbol binario tiene subrboles izquierdo y derecho que no estn vacos, el elemento se clasifica como rbol estrictamente binario. Los rboles representan las estructuras no lineales y dinmicas de datos ms importantes en computacin. Dinmicas porque las estructuras de rbol pueden cambiar durante la ejecucin de un programa. No lineales, puesto que a cada elemento del rbol pueden seguirle varios elementos. Se utiliza la recursin para definir un rbol porque representa la forma ms apropiada y porque adems es una caracterstica inherente de los mismos. Los rboles tienen una gran variedad de aplicaciones. Por ejemplo, se pueden utilizar para representar frmulas matemticas, para organizar adecuadamente la informacin, para construir un rbol genealgico, para el anlisis de circuitos elctricos y para numerar los captulos y secciones de un libro. Raz: Nodo que constituye la nica entrada a la estructura (por ello es necesario tener un puntero sobre l). Ramas o Arcos: Conexin entre dos nodos del rbol que representa una relacin de jerarqua. Hojas: Nodo sin hijos
CLASIFICACIN DE LOS ARBOLES Caractersticas del rbol, en relacin a su tamao:
Orden: es el nmero potencial de hijos que puede tener cada elemento de rbol. De este modo, diremos que un rbol en el que cada nodo puede apuntar a otros dos es de orden dos, si puede apuntar a tres ser de orden tres, etc.
Grado: el nmero de hijos que tiene el elemento con ms hijos dentro del rbol. En el rbol del ejemplo, el grado es tres, ya que tanto 'A' como 'D' tienen tres hijos, y no existen elementos con ms de tres hijos.
Nivel: se define para cada elemento del rbol como la distancia a la raz, medida en nodos. El nivel de la raz es cero y el de sus hijos uno. As sucesivamente. En el ejemplo, el nodo 'D' tiene nivel 1, el nodo 'G' tiene nivel 2, y el nodo 'N', nivel 3.
Altura: la altura de un rbol se define como el nivel del nodo de mayor nivel. Como cada nodo de un rbol puede considerarse a su vez como la raz de un rbol, tambin podemos hablar de altura de ramas. El rbol del ejemplo tiene altura 3, la rama 'B' tiene altura 2, la rama 'G' tiene altura 1, la 'H' cero, etc.
Si un grafo tiene un vrtice U que solo contiene una diferente de UoU1 (a s mismo) entonces es un rbol.
Altura = 3 (el nivel ms grande) raz = que no tiene padre (inicial) padre = que tiene hijo(s) hoja = no tiene hijo(s), tiene padre rbol ordenado: tiene nivel, los hijos de izquierda a derecha. n-rbol: cuando cada padre tiene a lo ms n hijos rbol binario: cada padre tiene a lo ms 2 hijos.
TIPOS DE RBOLES Podemos clasificar los grafos en dos grupos: dirigidos y no dirigidos. En un grafo no dirigido el par de vrtices que representa un arco no est ordenado. Por lo tanto, los pares (v1, v2) y (v2, v1) representan el mismo arco. En un grafo dirigido cada arco est representado por un par ordenado de vrtices, de forma que y representan dos arcos diferentes.
Ejemplos G1 = (V1, A1) V1 = {1, 2, 3, 4} A1 = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)} G2 = (V2, A2) V2 = {1, 2, 3, 4, 5, 6} A2 = {(1, 2), (1, 3), (2, 4), (2, 5), (3, 6)} G3 = (V3, A3) V3 = {1, 2, 3} A3 = {<1, 2>, <2, 1>, <2, 3>} Grficamente estas tres estructuras de vrtices y arcos se pueden representar de la siguiente manera:
Algunos de los principales tipos de grafos son los que se muestran a continuacin: Grafo regular: Aquel con el mismo grado en todos los vrtices. 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 vrtices pueden formarse dos conjuntos disjuntos de modo que no haya adyacencias entre vrtices pertenecientes al mismo conjunto Ejemplo.- de los dos grafos siguientes el primero es bipartito y el segundo no lo es Grafo completo: Aquel con una arista entre cada par de vrtices. Un grafo completo con n vrtices se denota Un. A continuacin pueden verse los dibujos de K3, K4, K5 y K6 Un grafo bipartito regular: se denota Km, n donde m, n es el grado de cada conjunto disjunto de vrtices. A continuacin ponemos los dibujos de K1, 2, K3, 3, y K2, 5 Grafo nulo: Se dice que un grafo es nulo cuando los vrtices que lo componen no estn conectados, esto es, que son vrtices aislados.
Grafos Isomorfos: Dos grafos son isomorfos cuando existe una correspondencia biunvoca (uno a uno), entre sus vrtices de tal forma que dos de estos quedan unidos por una arista en comn.
Grafos Platnicos: Son los Grafos formados por los vrtices y aristas de los cinco slidos regulares (Slidos Platnicos), a saber, el tetraedro, el cubo, el octaedro, el dodecaedro y el icosaedro.
GRAFOS EULERIANOS. Para definir un camino euclidiano es importante definir un camino euclidiano primero. Un camino euclidiano se define de la manera ms sencilla como un camino que contiene todos los arcos del grafo. Teniendo esto definido podemos hablar de los grafos euclidianos describindolos simplemente como aquel grafo que contiene un camino euclidiano. Como ejemplos tenemos las siguientes imgenes: El primer grafo de ellos no contiene caminos euclidianos mientras el segundo contiene al menos uno.
GRAFOS CONEXOS. Un grafo se puede definir como conexo si cualquier vrtice V pertenece al conjunto de vrtices y es alcanzable por algn otro. Otra definicin que dejara esto ms claro sera: un grafo conexo es un grafo no dirigido de modo que para cualquier par de nodos existe al menos un camino que los une.
RBOLES. Un rbol se define como un tipo de grafo que no contiene ciclos, es decir es un grafo tambin a cclico, pero a su vez es conexo. Tal es el caso de los siguientes dos grafos en donde se puede notar que ninguno de los dos contiene repeticiones (ciclos). BOSQUES DE RBOLES. Los bosques de rboles son un caso similar a los rboles, son cclicos, pero no son conexos. Como ejemplo tenemos la siguiente figura.
ARBOLES CON PESO
El peso de un rbol en un nodo dado es el nmero de nodos en el rbol sin contarse el mismo. El peso de un nodo en un rbol es la longitud del camino ms largo del nodo a una hoja. El peso de un rbol es el peso de la raz.
Un rbol con peso es un grafo donde cada lado tiene un nmero asociado o peso. Normalmente, al peso de un lado e se le designa por w (e). La suma de todos los pesos de todos los lados de un grafo con peso se llama el peso del grafo.
Ejemplo: cul es el peso de un rbol?
Peso total del grafo = 19
APLICACIONES DE RBOLES
Gracias a la teora de grafos se pueden resolver diversos problemas como por ejemplo la sntesis de circuitos secuenciales, contadores o sistemas de apertura. Se utiliza para diferentes reas por ejemplo, Dibujo computacional, en todas las reas de Ingeniera.
Los grafos se utilizan tambin para modelar trayectos como el de una lnea de autobs a travs de las calles de una ciudad, en el que podemos obtener caminos ptimos para el trayecto aplicando diversos algoritmos como puede ser el algoritmo de Floyd.
Para la administracin de proyectos, utilizamos tcnicas como PERT en las que se modelan los mismos utilizando grafos y optimizando los tiempos para concretar los mismos.
La teora de grafos tambin ha servido de inspiracin para las ciencias sociales, en especial para desarrollar un concepto no metafrico de red social que sustituye los nodos por los actores sociales y verifica la posicin, centralidad e importancia de cada actor dentro de la red. Esta medida permite cuantificar y abstraer relaciones complejas, de manera que la estructura social puede representarse grficamente. Por ejemplo, una red social puede representar la estructura de poder dentro de una sociedad al identificar los vnculos (aristas), su direccin e intensidad y da idea de la manera en que el poder se transmite y a quines.
Los grafos son importantes en el estudio de la biologa y hbitat. El vrtice representa un hbitat y las aristas (o "edges" en ingls) representa los senderos de los animales o las migraciones. Con esta informacin, los cientficos pueden entender cmo esto puede cambiar o afectar a las especies en su hbitat.
Por ejemplo, supongamos que unas lneas areas realizan vuelos entre las ciudades conectadas por lneas como se ve en la figura anterior (ms adelante se presentaran grafos con estructuras de datos); la estructura de datos que refleja esta relacin recibe el nombre de grafo.
Algunos ejemplos son los siguientes:
Socio grama de una red social
Ismeros
Organigramas
Arquitectura de redes de telefona
Dras. de eliminacin directa (ej.: tenis)
Circuito elctrico
Mapas conceptuales
Plano de estaciones del metro
Topologa de red de computadores
Plano de autopistas
RECORRIDO DE UN GRAFO. Recorrer un grafo significa tratar de alcanzar todos los nodos que estn relacionados con uno que llamaremos nodo de salida. Existen bsicamente dos tcnicas para recorrer un grafo: el recorrido en anchura; y el recorrido en profundidad. Recorrido en anchura: El recorrido en anchura supone recorrer el grafo, a partir de un nodo dado, en niveles, es decir, primero los que estn a una distancia de un arco del nodo de salida, despus los que estn a dos arcos de distancia, y as sucesivamente hasta alcanzar todos los nodos a los que se pudiese llegar desde el nodo salida. Recorrido en profundidad: el recorrido en profundidad trata de buscar los caminos que parten desde el nodo de salida hasta que ya no es posible avanzar ms. Cuando ya no puede avanzarse ms sobre el camino elegido, se vuelve atrs en busca de caminos alternativos, que no se estudiaron previamente.
REPRESENTACIN DE GRAFOS EN PROGRAMAS. Hay tres maneras de representar un grafo en un programa: mediante matrices, mediante listas y mediante matrices dispersas. Representacin mediante matrices: La forma ms fcil de guardar la informacin de los nodos es mediante la utilizacin de un vector que indexe los nodos, de manera que los arcos entre los nodos se pueden ver como relaciones entre los ndices. Esta relacin entre ndices se puede guardar en una matriz, que llamaremos de adyacencia. Representacin mediante listas: En las listas de adyacencia lo que haremos ser guardar por cada nodo, adems de la informacin que pueda contener el propio nodo, una lista dinmica con los nodos a los que se puede acceder desde l. La informacin de los nodos se puede guardar en un vector, al igual que antes, o en otra lista dinmica. Representacin mediante matrices dispersas: Para evitar uno de los problemas que tenamos con las listas de adyacencia, que era la dificultad de obtener las relaciones inversas, podemos utilizar las matrices dispersas, que contienen tanta informacin como las matrices de adyacencia, pero, en principio, no ocupan tanta memoria como las matrices, ya que al igual que en las listas de adyacencia, slo representaremos aquellos enlaces que existen en el grafo. BOSQUES DE RBOLES. Los bosques de rboles son un caso similar a los rboles, son cclicos, pero no son conexos. Como ejemplo tenemos la siguiente figura.
APLICACIONES DE LOS DIGRAFOS
Una de las aplicaciones ms importantes es de hallar el camino ms corto hacia un destino, ya sea de una ciudad a otra, de unos departamentos a otros, para el recorrido de rboles, sirve para la representacin de algoritmos, etc.