Académique Documents
Professionnel Documents
Culture Documents
CHIHUAHUA
Facultad de Ingeniera
rboles y Grafos
Estructura de Datos I
Ing. Vctor Domnguez Ros
281792
Quiroz
Cruz
Samantha Paola
286029
Guillermo
Lpez
Chvez
ndice
Introduccin
Objetivo
2
3
Grafos
Arboles
Conclusin
15
Bibliografa
15
Introduccin:
La investigacin se realiz con base al tema central que son las estructuras no
lineales las cuales esta divididas en rboles y grafos. Los arboles representan
las estructuras no lineales y dinmicas de datos ms importantes en
computacin. Son dinmicas porque la estructura rbol puede cambiar durante
la ejecucin de un programa, y no lineales porque a cada elemento del rbol
pueden seguirle varios elementos, a su vez los grafos son un conjunto de
nodos. Los conceptos previamente citados sern descritos ms detalladamente
a continuacin.
35
Grafos
Un grafo G=(N, A, F) consta de un conjunto no vaco n denominado
conjunto de nodos (puntos, vrtices) del grafo un conjunto a de aristas
del grafo, y una correspondencia f del conjunto de aristas a en un
conjunto de pares ordenados o desordenados n.
, donde:
, un conjunto no
llamados vrtices o nodos.
ordenados de
vaco
de
objetos
simples
es un conjunto de pares
elementos
de
45
Matriz de Adyacencias.
Un grafo se puede representar mediante una matriz. Es la forma ms sencilla
de representar un grafo. A esta matriz se le denomina matriz de adyacencia.
Directorio de Nodo.
La representacin de listas solamente almacena la informacin de las aristas
que existen. Incluye dos partes: un directorio y un conjunto de listas ligada. Hay
una entrada en el directorio para cada nodo del grafo. La entrada del
directorio para el nodo i apunta a una lista ligada, que representa los nodos que
estn conectados al nodo i.
Cada registro de la lista ligada tiene dos campos: identificacin del nodo, liga al
siguiente elemento de la lista. El directorio representa nodos y la lista
representa aristas.
Multilistas
La implementacin de un grafo utilizando multilistas solo tiene sentido
para que grafos dirigidos. Su objetivo es mejorar el coste de la operacin
55
pred que pasa a tener coste (n) en lugar de coste (n+e) que tiene con
listas de adyacencia. Tambin se reduce (n) el coste de borrar- v.
Recorridos de Grafos
En muchas aplicaciones es necesario visitar todos los vrtices del grafo a partir
de un nodo dado. Algunas aplicaciones son:
Encontrar ciclos
Recorrido
(o
bsqueda)
en
profundidad:
La idea es alejarse lo ms posible del nodo inicial (sin repetir nodos),
luego devolverse un paso e intentar lo mismo por otro camino.
Recorrido
(o
bsqueda)
en
amplitud:
Se visita a todos los vecinos directos del nodo inicial, luego a los vecinos
de los vecinos, etc.
65
Aplicaciones
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 tcnica de revisin y evaluacin de programas (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.
Alcance en Grafos.
Trabaja sobre grafos orientados si G es no orientado, se sustituye cada
arco.
Trayectoria ms corta.
Se conocen varios algoritmos de clculo de la trayectoria ms corta entre
75
85
Arboles.
Un rbol es una estructura de datos ramificada (no lineal) que puede
representarse como un conjunto de nodos enlazados entre s por medio de
ramas. La informacin contenida en un nodo puede ser de cualquier tipo simple
o estructura de datos.
Los rboles permiten modelar diversas entidades del mundo real tales como, por
ejemplo, el ndice de un libro, la clasificacin del reino animal, el rbol
genealgico de un apellido, etc.
La figura muestra un ejemplo de estructura en rbol (la numeracin de los
nodos es arbitraria). Se entiende por topologa de un rbol a su representacin
geomtrica.
1
2
5
10
3
6
8
11
12
Figura 4.1
Una definicin formal es la siguiente:
Un rbol es una estructura de datos base que cumple una de estas dos
condiciones:
Es una estructura vaca, o
Es un nodo de tipo base que tiene de 0 a N subrboles disjuntos entre s.
Al nodo base, que debe ser nico, se le denomina raz y se establece el
convenio de representarlo grficamente en la parte superior.
En un rbol se representa una relacin jerrquica a partir del nodo raz en
sentido vertical descendente, definiendo niveles1.
El nivel del nodo raz es 1.
Desde la raz se puede llegar a cualquier nodo progresando por las ramas y
atravesando los sucesivos niveles estableciendo as un camino. En la figura 4.1.
El nodo 7 est a nivel 3 y la secuencia de nodos 4, 8 y 11 constituye un
(sub)camino.
Se dice que un nodo es antecesor de otro cuando ambos forman parte de un
camino y el primero se encuentra en un nivel superior (numeracin ms baja) al
del segundo (numeracin ms alta). En el ejemplo anterior el nodo 4 es
antecesor del 11. Por el contrario, el nodo 11 es descendiente del 4.La relacin
entre dos nodos separados de forma inmediata por una rama se denomina
padre/hijo. En el ejemplo de la figura 4.1., el nodo 5 es hijo del nodo 2 y,
recprocamente, el nodo 2 es padre del nodo 5. En un rbol un padre puede
tener varios hijos pero un hijo solo puede tener un padre.
95
Bosques de rboles.
Hijo. X es hijo de y, s y solo s el nodo x es apuntado por y. Tambin
se dice que x es descendiente directo de y.
padre. X es padre de y s y solo s el nodo x apunta a y. Tambin se
dice que x es antecesor de y.
hermano. Dos nodos sern hermanos si son descendientes directos
de un mismo nodo.
hoja. Se le llama hoja o terminal a aquellos nodos que no tienen
ramificaciones.
nodo interior. Es un nodo que no es raz ni terminal.
grado. Es el nmero de descendientes directos de un determinado
nodo.
grado del arbol es el mximo grado de todos los nodos del rbol.
nivel. Es el nmero de arcos que deben ser recorridos para llegar a un
determinado nodo. Por definicin la raz tiene nivel 1.
altura. Es el mximo nmero de niveles de todos los nodos del rbol.
105
115
Recorrido de rboles.
El recorrido de rboles refiere al proceso de visitar de una manera sistemtica,
exactamente una vez, cada nodo en una estructura de datos de rbol.Una tarea
muy comn a realizar con un rbol es ejecutar una determinada operacin con
cada uno de los elementos del rbol. Esta operacin se considera entonces
como un parmetro de una tarea ms general que es la visita de todos los nodos
o, como se denomina usualmente, del recorrido del rbol.
Orden previo.
El recorrido en preorden, tambin llamado orden previo consiste en
recorrer en primer lugar la raz y luego cada uno de los
hijos
en orden previo.
125
Orden simtrico.
El recorrido en inorden, tambin llamado orden simtrico (aunque este
nombre slo cobra significado en los rboles binarios) consiste en
recorrer en primer lugar , luego la raz y luego cada uno de los
hijos
en orden simtrico.
Orden posterior.
El recorrido en postorden, tambin llamado orden posterior consiste en
recorrer en primer lugar cada uno de los hijos
en orden
posterior y por ltimo la raz.
Finalmente, puede decirse que esta estructura es una representacin del
concepto de rbol en teora de grafos. Un rbol es un grafo conexo y a
cclico.
135
rboles binarios.
A los arboles ordenados de grado dos se les conoce como arboles binarios ya
que cada nodo del rbol no tendr ms de dos descendientes directos. Las
aplicaciones de los arboles binarios son muy variadas ya que se les puede
utilizar para representar una estructura en la cual es posible tomar decisiones
con dos opciones en distintos puntos.
La representacin grfica de un rbol binario es la siguiente:
05
CONCLUSION
Vimos en este trabajo la implementacin de grafos y arboles respecto a los
diversos fundamentos y aplicaciones asignadas en representacin de memoria
y aparte aprendimos a conocer y ver una visin general del proceso de
resolucin de problemas que tratan de la implementacin de conjuntos y
diccionarios ya que mediante mtodos, arboles de punteros, etc., pudimos
realizar esta meramente resultado de la investigacin.
BIBLIOGRAFIA
DEITEL, HARVEY M. & DEITEL, PAUL J.
Quinta edicin
Como programar en Java
PEARSON EDUCACION, Mxico 2004ISBN: 970-26-0518-0rea: Universitarios
Formato: 20 X 25.5 cm Pginas: 1268
LEWIS, J. Y CHASEJ.
Segunda edicin
Estructuras de datos con Java. Diseo de estructuras y algoritmos.
PEARSON AddisonWesley. 2006Pgs. 152-161, 166-174, 180-182, 193-205
TCNICO DE SOPORTE INFORMTICO GRUPO III
De la Comunidad de Castilla y Len. Volumen 1Editor: MAD
TEXTO GUA:
ALGORITMOS Y ESTRUCTURAS DE DATOS
Primera edicin, Junio 2003
(c) Gins Garca Mateos
Joaqun Cervera Lpez
Norberto Marn Prez
Domingo Gimnez Cnovas
(c) Editorial Diego Marn
Coleccin Textos-Gua
ICE - Universidad de Murcia
Nmero de pginas: 353
15
25