viernes, 31 de mayo de 2019

Árboles y Grafos

ÁRBOLES Y GRAFOS

Publicado por: Diego Valdez Martínez

Grafos 

Los grafos son estructuras discretas que aparecen ubicuamente en cada disciplina donde se requiere modelar algo. En general los grafos son mapas conceptuales que ayudan a representar el conocimiento. 
En este contexto árboles y grafos se refiere a estructuras de datos que permiten organizar y mantener información en un computador. Esta forma se inspira una forma de organizar información con lápiz y papel usando nodos y flechas entre los nodos (a esas flechas también se les llama arcos, a los nodos también se les llama vértices). Los grafos y árboles en papel son apropiados por ejemplo para capturar sólo una parte de la información de objetos, situaciones y otros tipos de información.
Resultado de imagen para grafos

  • Aplicaciones de los grafos: 
  1. Internet y los protocolos de comunicaciones (TCP/IP, SMTP, FTP, routers, etc.) 
  2. Diseño de redes de comunicaciones y transporte (redes computacionales, carreteras, aguas, electricidad, telecomunicaciones, aviación, satélites, aero-espacial, flotas de vehículos, etc.)
  3. Estructura de datos 
  4. Algoritmos computacionales  Navegador GPS (Google Maps)
  5. Ocio (video juegos, simulación e IA) 
  6. Domótica, robótica, automatización, control y gestión de redes, etc. 
  7. La Web (es un grafo cuya estructura cambia cada segundo) 
  8. Web semántica  Investigación médica, biogenética (secuenciación ADN) 
  9. Biología, medio-ambiente, cambio climático 
  10. Árboles genealógicos

Propiedades de los Grafos

  • Adyacencia. Dos aristas son adyacentes si tienen un vértice en común, y dos vértices son adyacentes si una arista los une. 
  • Incidencia. Una arista es incidente a un vértice si ésta lo une a otro. 
  • Ponderación. Corresponde a una función que asocia a cada arista un valor (costo, peso, longitud, etc.), para aumentar la expresividad del modelo. 
  • Etiquetado. Distinción que se hace a los vértices y/o aristas mediante una marca que los hace unívocamente distinguibles del resto.

¿Qué es un grafo? 

Un grafo G consiste en un conjunto no vacío de vértices o nodos V y un conjunto de arcos o aristas E G = (V,E). Grafo del griego grafos: dibujo, imagen.
Cada e є E tiene un par (v1 ,v2 ) є V x V asociado; es decir, e conecta v1 con v2 .
El orden del grafo G a su número de vértices  G = |V|.
El grado de un vértice o nodo v є V es igual al número de arcos o aristas que lo tienen como extremo.

Vértices (Nodos). Elementos (objetos) que forman un grafo. Cada uno lleva asociada un grado característico según la situación, que se corresponde con la cantidad de arcos o aristas que confluyen en dicho vértice. 
  • Arcos o Aristas. Relaciones entre los elementos que forman el grafo. Existen los siguientes tipos: Ramas. Arco o arista que unen un vértice con otro. 
  • Paralelas (múltiples). Arcos o aristas conjuntas si el vértice inicial y final son el mismo.
  • Cíclicas (lazo, bucle). Arco o arista que el vértice inicial y final es el mismo. 
Un grafo ponderado G = (V,E,w) es un grafo en el que a cada arco o arista se le asocia un peso.
En un grafo dirigido, un vértices es adyacente a otro si están conectados por un arco (cola → cabeza), donde el vértice cabeza es adyacente al vértice cola. 
  • En tal caso, el vértices cola es incidente al vértice cabeza. 
En un grafo no dirigido, dos vértices son adyacentes si están conectados por una arista. 
  • En tal caso, cada uno de estos vértices es incidente a dicha arista. 
Un grafo dirigido o digrafo G consiste en un conjunto no vacío de vértices V y un conjunto de arcos E G = (V,E).  

  • Los vértices se denominan también nodos o puntos. 
  • Los arcos pueden llamarse arcos dirigidos o líneas dirigidas. 
Un arco es un par ordenado de vértices (v,w); donde v es la cola (nodo inicial) y w es la cabeza (nodo terminal) del arco. 
  • El arco (v,w) se expresa a menudo como v → w, y se representa como:
  • Se dice que el arco v → w va de v a w, y que w es adyacente o vecino a v. 
  • Se dice que el arco v → w es incidente en el vértice v.
Cuando un arco es un par ordenado de vértices idénticos se llama lazo, bucle o arco cíclico, arco que une un vértice consigo mismo. 

  • El lazo (v,v) se expresa a menudo como v → v, y se representa como:
  • Se dice que el arco v → v va de v a v, y que v es adyacente a v.
  • Se dice que el arco v → v es incidente en el vértice v.
El grado de entrada (interno) de v es el número de arcos que tienen como nodo terminal a v y se denota por g - (v).  El grado de salida (externo) de v es el número de arcos que tienen como nodo inicial a v y se denota por g+ (v).

Resultado de imagen para grafos dirigidos



ÁRBOLES

Los árboles representan las estructuras no-lineales y dinámicas de datos más importantes en computación. Dinámicas, puesto que a cada elemento del árbol pueden seguirlo varios elementos
Resultado de imagen para teoria de arboles

PROPIEDADES DE UN ÁRBOL: En la ciencia de la computación definimos un árbol como un conjunto de nodos y líneas. Un nodo es un elemento de información que reside en el árbol. Una línea es un par de nodos ordenados, y a la secuencia de líneas se le denomina ruta. Además, los árboles tienen las siguientes propiedades:  Tienen un nodo al que se le llama raíz del árbol. 
  • Todos los nodos, excepto la raíz, tienen una sola línea de entrada (el nodo raíz no tiene ninguna). 
  • Existe una ruta única del nodo raíz a todos los demás nodos del árbol.
  • Si hay una ruta <a,b>, entonces a „b‟ se le denomina “hijo” de “a” y es el nodo raíz de un subárbol.
Gráficamente puede representarse una estructura árbol de diferentes maneras y todas ellas equivalentes;
CARACTERISTICAS DE UN ÁRBOL: 

  • NODO indica un elemento, o ítem, de información. 
  • Todo árbol que no es vacío, tiene un único nodo raíz. 
  • Un nodo X es descendiente directo de un nodo Y, si el nodo X es apuntado por el nodo Y. X es hijo de Y. 
  • Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y. X es padre de Y.
  • Se dice que todos los nodos que son descendientes directos (hijos) de un mismo nodo (padre), son hermanos.
  • Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de terminal u hoja.
  • Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de interior. 8. Grado es el número de descendientes directos de un determinado nodo. Grado del árbol es el máximo grado de todos los nodos del árbol.
  • Nivel es el número de arcos que deben ser recorridos para llegar a un determinado nodo. Por definición, la raíz tiene nivel 1.
  • Altura del árbol es el máximo número de niveles de todos los nodos del árbol.
Imagen relacionada

EJEMPLO DE UN ÁRBOL 
  1. A es la raíz del árbol. 
  2. B es hijo de A.
  3. A es padre de B.
  4. B y C son hermanos.
  5. I,E,J,K,G,L son hojas.
  6. B, D, F, C, H son nodos interiores.
  7. El grado de nodo A es 2. 
  8. Nivel del nodo A es 1.
  9. Nivel B es 2.
  10. Altura del árbol 4. 
  11. A ED CB F G H I J K L
ÁRBOL BINARIO: Un árbol ordenado es aquel en el cual la distribución de las ramas sigue cierto orden. Los árboles ordenados de grado 2 son de especial interés puesto que representan una de las estructuras de datos más importante en computación, conocida como árboles binarios. En un árbol binario cada nodo puede tener como máximo dos subárboles; y siempre es necesario distinguir entre el subárbol izquierdo y el subárbol derecho.
APLICACIONES DE ÁRBOLES BINARIOS:
  • Árboles binarios de búsqueda.
  • Representación de una expresión algebraica.
  • Árbol Genealógico.
ÁRBOLES BINARIOS DISTINTOS: Dos árboles binarios son distintos cuando sus estructuras son diferentes. Ejemplo: A A B B A B A D B D C C.
Resultado de imagen para arboles binarios similares

ÁRBOLES BINARIOS SIMILARES: Dos árboles binarios son similares cuando sus estructuras son idénticas, pero la información que contienen sus nodos difiere entre sí. A E B C A F P S R J K T.

ÁRBOLES BINARIOS EQUIVALENTES: Los árboles binarios equivalentes se definen como aquellos que son similares y además los nodos contienen la misma información. E F J K E F J K.

ÁRBOLES BINARIOS COMPLETOS:  Se define un árbol binario completo como un árbol en el que todos sus nodos, excepto los de último nivel, tienen dos hijos; el subárbol izquierdo y el subárbol derecho. A B D C F GE.

RECORRIDOS EN ÁRBOLES BINARIOS: Una de las operaciones más importantes a realizar en un árbol binario es el recorrido de los mismos. Recorrer significa visitar los nodos del árbol en forma sistemática; de tal manera que todos los nodos del mismo sean visitados una sola vez. Existen tres formas diferentes de efectuar el recorrido y todas ellas de naturaleza recursiva, éstas son:

RECORRIDOS Recorrido en preorden: 
  • Visitar la raíz 
  • Recorrer el subárbol izquierdo
  • Recorrer el subárbol derecho Recorrido en inorden:
  • Recorrer el subárbol izquierdo 
  • Visitar la raíz 
  • Recorrer el subárbol derecho Recorrido en postorden: 
  • Recorrer el subárbol izquierdo 
  • Recorrer el subárbol derecho
  • Visitar la raíz
ÁRBOL BINARIO DE BÚSQUEDA: El árbol binario de búsqueda es una estructura sobre la cual se pueden realizar eficientemente las operaciones de búsqueda, inserción y eliminación. Formalmente se define un árbol binario de búsqueda de la siguiente manera: “Para todo nodo T del árbol debe cumplirse que todos los valores de los nodos del subárbol izquierdo de T deben ser menores o iguales al valor del nodo T. De forma similar, todos los valores de los nodos el subárbol derecho de T deben ser mayores o iguales al valor del nodo T”.






No hay comentarios.:

Publicar un comentario

Árboles y Grafos

ÁRBOLES Y GRAFOS Publicado por: Diego Valdez Martínez Grafos  Los grafos son estructuras discretas que aparecen ubicuamente en cada d...