Está en la página 1de 19

INSTITUTO UNIVERSITARIO DE TEGNOLOGIA

DE ADMINISTRACION INDUSTRIAL
EXTENCION PTO. LA CRUZ
INFORMATICA 02 SECCIÓN 01

Árboles y Grafos

Alumno:

Gabriel Fuenmayor C.I: 26.256.887

Pto. La Cruz 05-06-2020


ÍNDICE

(Página)

Introducción……………………………………………………………….. (3)

ÁRBOLES Y GRAFOS

Características……………………………………………………………. (6)

Representación…………………………………………………………... (7..8)

Tipos……………………………………………………………………….. (9)

Gráficas dirigidas y no dirigidas………………………………… (11..12..13)

Resolución de problemas de casos reales…………………………. (14)

Conclusión……………………………………………………………….. (15)

Anexos……………………………………………………………….. (16..17..18)

Referencias bibliográficas……………………………………………... (19)

2
INTRODUCCIÓN

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 (i.e son apropiados para
abstraer).

En un computador además de permitir organizar información, resultan


estructuras útiles para resolver ciertos tipos de problema (por ejemplo
pueden emplearse árboles AVL para mantener información ordenada de
forma eficiente).

Para jugar, entender y emplear mejor grafos (y árboles) varias personas (e.g
Euler) han propuesto definiciones; a partir de estas definiciones y con ayuda
de razonamientos lógicos han demostrado propiedades

3
ÁRBOL

El árbol es una estructura de datos fundamental en la informática, muy


utilizada en todos sus campos, porque se adapta a la representación natural
de informaciones homogéneas organizadas y de una gran comodidad y
rapidez de manipulación.

Otra definición de árbol es como tipo de grafo cíclico, conexo y no dirigido.

Las estructuras tipo árbol se usan principalmente para representar datos con
una relación jerárquica entre sus elementos, como son árboles genealógicos,
tablas, etc.

La definición de un árbol implica una estructura recursiva. Esto es, la


definición del árbol se refiere a otros árboles. Un árbol con ningún nodo es un
á rbol nulo; no tiene raíz.

Una estructura vacía o un elemento o clave de información (nodo) más un


numero finito de estructuras tipo árbol, disjuntos, llamados subárboles. Si
dicho número de estructuras es inferior o igual a dos, se tiene un árbol
binario.

Es por tanto, una estructura no secuencial.

GRAFO

4
Un grafo G = (V, E) consiste en un conjunto finito V cuyos miembros se
llaman vértices y una familia finita de pares no ordenados de vértices a cuyos
elementos llamaremos aristas o arcos. El número de vértices, es decir la
cardinalidad del conjunto V se denomina orden del grafo y se denota por |V |.
Por lo general se utiliza n para denotar el orden de G. El número de aristas,
es decir la cardinalidad de E, se denomina tamaño del grafo y se denota por |
E |. Por lo general se utiliza m para denotar el tamaño de G.

CARACTERÍSTICAS DE UN GRAFO

a) Se llama bucle o lazo a toda arista de la forma (v, v)

b) Se llaman aristas múltiples a las aristas que aparecen repetidas en E

c) Se dice que dos vértices son adyacentes si están unidos por una arista

d) Se dice que dos aristas son adyacentes si tienen un vértice en común,

e) Se dice que una arista y un vértice son incidentes si el vértice es extremo


de la arista

f) Se dice que un vértice es aislado si no es adyacente a ningún otro vértice.

CARACTERÍSTICAS DE UN ÁRBOL

5
1. NODO indica un elemento, o ítem, de información.

2. Todo árbol que no es vacío, tiene un único nodo raíz.

3. 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.

4. Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo


Y. X es padre de Y.

5. Se dice que todos los nodos que son descendientes directos (hijos) de un
mismo nodo (padre), son hermanos.

6. Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre


de terminal u hoja.

7. 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.

9. 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.

10. Altura del árbol es el máximo número de niveles de todos los nodos del
árbol.

REPRESENTACIÓN DE LOS ÁRBOLES

La representación de los árboles se realiza con las típicas notaciones de las


relaciones familiares en los árboles genealógicos: padre, hijo, hermano,
ascendente, descendiente, etc.

RAÍZ: Todos los árboles que no están vacíos tienen un único nodo raíz.
Todos los demás elementos o nodos derivan o descienden de él. El nodo
Raíz no tiene Padre es decir no es hijo de ningún elemento

PADRE: X es padre de Y sí y solo sí el nodo X apunta a Y. También se dice


que X es antecesor de Y.

HIJO: X es hijo de Y, sí y solo sí el nodo X es apuntado por Y. También se


dice que X es descendiente directo de Y.

6
HERMANO: Dos nodos serán hermanos si son descendientes directos de un
mismo nodo.

HOJA: Se le llama hoja o Terminal a aquellos nodos que no tienen


ramificaciones (hijos).

NODO: Son los Vértices o elementos del Árbol.

NODO INTERIOR: Es un nodo que no es raíz ni Terminal.

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: Es el máximo número de niveles de todos los nodos del árbol.


Equivale al nivel más alto de los nodos más 1.

PESO: Es el número de nodos terminales del árbol

LONGITUD DE CAMINO: Es el número de arcos que deben ser recorridos


para llegar desde la raíz al nodo X. Por definición la raíz tiene longitud de
camino 1, y sus descendientes directos longitud de camino 2 y así
sucesivamente.

REPRESENTACIÓN DE UN GRAFO

Existen diferentes formas de representar un grafo (simple), además de la


geométrica y muchos métodos para almacenarlos en una computadora.
La estructura de datos usada depende de las características del grafo y
el algoritmo usado para manipularlo. Entre las estructuras más sencillas y
usadas se encuentran las listas y las matrices, aunque frecuentemente se
usa una combinación de ambas. Las listas son preferidas en grafos
dispersos porque tienen un eficiente uso de la memoria. Por otro lado, las
matrices proveen acceso rápido, pero pueden consumir grandes cantidades
de memoria.

Estructura de lista

7
 Lista de incidencia - Las aristas son representadas con un vector de
pares (ordenados, si el grafo es dirigido), donde cada par representa
una de las aristas.

 Lista de adyacencia - Cada vértice tiene una lista de vértices los


cuales son adyacentes a él. Esto causa redundancia en un grafo no
dirigido (ya que A existe en la lista de adyacencia de B y viceversa),
pero las búsquedas son más rápidas, al costo de almacenamiento
extra.

Lista de grados - También llamada secuencia de grados o sucesión


gráfica de un grafo no-dirigido es una secuencia de números, que
corresponde a los grados de los vértices del grafo.

TIPOS DE ÁRBOLES

Árboles binarios: Es un árbol en el que cada uno de sus nodos puede tener
entre 0 y 2 hijos.

Árboles balanceados: Son árboles binarios, donde cualquier rama que


elijamos tendrá una longitud igual a la altura del árbol o la altura del árbol
menos

8
Árboles n-arios: Como la propia palabra indica, es un árbol con un número
variable de hijos.

Arboles generadores: Un árbol T es un árbol generador de un grafo G si T


es un subgrafo de G que contiene todos los vértices de G.

A esta característica general es posible agregar ciertos teoremas de modo de


detallar aún más el alcance de la definición. Es así como el Grafo que
contiene a T debe ser conexo, pues de lo contrario no existiría un subgrafo
que contuviera todos sus vértices.

TIPOS DE GRAFOS

Grafo simple: O simplemente grafo es aquel que acepta una sola arista


uniendo dos vértices cualesquiera. Esto es equivalente a decir que una arista
cualquiera es la única que une dos vértices específicos. Es la definición
estándar de un grafo.

Multigrafo o pseudografo: Es el que acepta más de una arista entre dos


vértices. Estas aristas se llaman múltiples o lazos (loops en inglés).
Los grafos simples son una subclase de esta categoría de grafos. También
se les llama grafos generales.

Grafo orientado: grafo dirigido o dígrafo. Son grafos en los cuales se ha


añadido una orientación a las aristas, representada gráficamente por una
flecha.

Grafo etiquetado: Grafos en los cuales se ha añadido un peso a las aristas


(número entero generalmente) o un etiquetado a los vértices.

Grafo aleatorio: Grafo cuyas aristas están asociadas a una probabilidad.

Hipergrafo: Grafos en los cuales las aristas tienen más de dos extremos, es


decir, las aristas son incidentes a 3 o más vértices.

Grafo infinito: Grafos con conjunto de vértices y aristas de cardinal infinito.

Grafo plano: Los grafos planos son aquellos cuyos vértices y aristas pueden
ser representados sin ninguna intersección entre ellos. Podemos establecer
que un grafo es plano gracias al Teorema de Kuratowski.

Grafo regular: Un grafo es regular cuando todos sus vértices tienen el


mismo grado de valencia.

9
GRÁFICAS DIRIGIDAS

Una gráfica dirigida \({\mathcal G}\) es un conjunto de vértices junto con un


subconjunto de aristas dirigidas (pares ordenados de vértices). En nuestro
caso, cada vértice corresponde a una variable aleatoria, y cada arista dirigida
representa una asociación probabilística entre las variables (vértices) que
conecta. Nos interesan en particular las gráficas dirigidas acíclicas (GADs),

10
estas son aquellas que no tienen caminos dirigidos partiendo de un vértice y
regresando al mismo (ciclos).

Ejemplo.

library(igraph)
gr <- graph(c(1, 2, 3, 2, 3, 4))
plot(gr,
vertex.label = c('Dieta', 'Enf. corazón', 'Fuma', 'Tos'),
layout = matrix(c(0, 0.5, 2, 0, 4, 0.5, 6, 0), byrow = TRUE, ncol
= 2),
vertex.size = 23, vertex.color = 'salmon', vertex.label.cex = 1.2,
vertex.label.color = 'gray40', vertex.frame.color = NA, asp = 0.5,
edge.arrow.size = 1)

GRÁFICAS NO DIRIGIDAS

Son grafos donde los lados no tienen dirección ( los lados no tienen flecha).

En estos grafos el lado ( i, j ) = ( j, i )

Observar que los lados se representan con paréntesis ( ).

11
La siguiente figura representa un grafo no dirigido

El grafo no dirigido de la figura está formado por:

Vértices = { 1, 2, 3, 4, 5 }

Lados = { (1,2),( 1,3 ), ( 1, 4), (2, 4) , ( 3, 4 )}

DEFINICIONES

ADYACENCIA: Dos vértices son adyacentes si forman un lado. De la gráfica


podemos decir que los vértices adyacentes al vértice 1 son 2,3 y 4. Los
vértices adyacentes al vértice 3 son 1 y 4.

INCIDENCIA: Un lado incide en los dos vértices que une.

GRADO DE UN VÉRTICE: Es el número de lados que inciden en el vértice


(número de ramificaciones que salen del vértice). De la gráfica podemos
decir que el grado del vértice 1 es 3, el grado del vértice 3 es 2 etc.

TRAYECTORIA I-J: Son los vértices por los que hay que pasar para ir desde
el vértice I hasta el vértice J. De la gráfica podemos decir que tenemos dos
trayectorias para ir del vértice 1 al vértice 3 T13 ={ 1, 4 , 3} y T13=
{1,2.4,3}.

12
RESOLUCIÓN DE PROBLEMAS

13
CONCLUSIÓN

Luego de concluir el siguiente tema, debemos tener en cuenta que un árbol


como estructura de datos nos permite almacenar una cantidad significativa
de datos de forma ordenada. Un árbol se representa con un conjunto de
nodos entrelazados entre sí por medio de ramas, debemos tener en cuenta
que el nodo base es único, y se le denomina raíz. En un árbol un padre

14
puede tener varios hijos pero un hijo solo puede tener un padre. Desde la
raíz se puede llegar a cualquier nodo progresando por las ramas y
atravesando los sucesivos niveles estableciendo así un camino.

Los recorridos de un árbol se entienden por el tratamiento realizado para


acceder a los diferentes nodos de un árbol. El recorrido puede afectar a la
totalidad de los nodos del árbol, por eso debemos tener muy claro que al
realizar un árbol debemos colocar nombres complejos que trate del algoritmo
que estamos realizando, ya que al realizar los recorridos debemos saber
dónde estamos ubicados en dicho árbol, y cuando se vaya haciendo más
extenso dicho algoritmo que hemos creado sea más fácil de ubicarnos. Ya
que si nos ubicamos mal en un nodo podemos crear un mal funcionamiento
del algoritmo, borrar información equivocada o que ocurra un
desbordamiento de datos.

En informática, el uso de los árboles es muy importante:

Los sistemas de ficheros son árboles.

Los archivos XML son árboles. Un archivo HTML también es un árbol.

Un sistema de tablas Hash genera un árbol si tiene varios niveles.

En general, cualquier sistema jerárquico suele ser un árbol.

15
ANEXOS

16
Grafo Aleatorio Hipergrafo

17
18
REFERENCIAS BIBLIOGRÁFICAS

https://es.wikipedia.org/wiki/Teor%C3%ADa_de_grafos

https://sites.google.com/site/jlscestructuras/grafos-no-dirigidos

Wikimedia Commons alberga una categoría multimedia sobre Teoría de


grafos

19

También podría gustarte