Você está na página 1de 12

Universidad de Oriente

Ncleo de Monagas
Escuela de Ingeniera y Ciencias Aplicadas
Departamento de Sistemas
Estructura De Datos
Seccin 01

RBOLES

Profesora: Bachilleres:

Alba Ortiz Gamardo, Dubraska C.I: 22.725.662

Habib, Brian C.I: 25.273.720

Gonzlez, Ricardo C.I: 23.539.677

Millan, Brunett C.I.:24.512.052

Ortiz, Andrea C.I: 18.462.519

Maturn, Julio del 2017.


1. rboles

En ciencias de la computacin, un rbol es una estructura de datos


ampliamente usada que emula la forma de un rbol (un conjunto de nodos
conectados). Un nodo es la unidad sobre la que se construye el rbol y
puede tener cero o ms nodos hijos conectados a l. Se dice que un nodo
a es padre de un nodo b, si existe un enlace desde a hasta b (en ese caso,
tambin decimos queb es hijo de a). Slo puede haber un nico nodo sin
padres, que llamaremos raz. Un nodo que no tiene hijos se conoce como
hoja.

El rbol Tambin se define como una estructura de datos no lineal. Esta


estructura se usa principalmente para representar datos con una relacin
jerrquica entre sus elementos, como por ejemplo registros, rboles
genealgicos y tablas de contenidos. Entre otros tenemos un tipo especial
de rbol que es, llamado rbol binario, que puede ser implementado
fcilmente en la computadora.

La definicin de un rbol implica una estructura recursiva. Esto es, la


definicin del rbol se refiere a otros rboles. Un rbol con ningn nodo es
un rbol nulo; no tiene raz.

2. Aplicaciones de rboles

De las estructuras de datos de tipo rbol, la especie ms utilizada es el


rbol Binario de Bsqueda. Los principales tipos de rboles binarios de
bsqueda son los AVL, B* y balanceado. Los rboles binarios de bsqueda
se utilizan para localizar en forma rpida un elemento almacenado en ese
rbol, a partir de una clave. Son una forma de implementar arreglos
asociativos o mapas, en donde se almacenan elementos que son pares.

En las bases de datos relacionales, para poder localizar en forma rpida


un registro de una taba a partir de una clave, se utilizan objetos asociados
a las tablas llamados ndices. Estos ndices son rboles binarios de bsqueda
almacenados en el disco, que a partir de una clave indican dnde se
encuentra el registro correspondiente en la tabla. Otro ejemplo de la
utilizacin de rboles binarios de bsqueda son los diccionarios. A partir de
una palabra, se realiza una bsqueda en el rbol para saber si est incluida
en el conjunto, y si existe, se obtienen sus datos asociados (por ejemplo, si es
un verbo, un sustantivo, un artculo, etc.). En Teora de Compiladores,
durante la fase de anlisis del cdigo fuente, los analizadores lxico,
sintctico y semntico utilizan tablas de smbolos, en donde se almacenan
las palabras clave y las palabras reservadas y sus atributos, implementadas
(por lo general) como rboles binarios de bsqueda. En sntesis, se utiliza un
rbol binario de bsqueda cuando se desea almacenar en una estructura
de datos cierta informacin, a la cual luego se desea acceder en forma
rpida a partir de una clave. La representacin grfica de un rbol binario
es la siguiente: Representacin en Memoria Hay dos formas tradicionales de
representar un rbol binario en memoria: * Por medio de datos tipo punteros
tambin conocidos como variables dinmicas o listas. * Por medio de
arreglos.

Sin embargo la ms utilizada es la primera, puesto que es la ms natural


para tratar este tipo de estructuras. Los nodos del rbol binario sern
representados como registros que contendrn como mnimo tres campos.
En un campo se almacenar la informacin del nodo. Los dos restantes se
utilizarn para apuntar al subrbol izquierdo y derecho del subrbol en
cuestin. Cada nodo se representa grficamente de la siguiente manera:
Clasificacin de Arboles Binarios Existen cuatro tipos de rbol binario: * A. B.
Distinto. * A. B. Similares. * A. B. Equivalentes. * A. B. Completos. A
continuacin se har una breve descripcin de los diferentes tipos de rbol
binario as como un ejemplo de cada uno de ellos. A. B. DISTINTO Se dice
que dos rboles binarios son distintos cuando sus estructuras son diferentes.
Ejemplo: A. B. SIMILARES Dos rboles binarios son similares cuando sus
estructuras son idnticas, pero la informacin que contienen sus nodos es
diferente. Ejemplo: A. B. EQUIVALENTES Son aquellos rboles que son similares
y que adems los nodos contienen la misma informacin.

Ejemplo:

A. B. COMPLETOS Son aquellos rboles en los que todos sus nodos


excepto los del ltimo nivel, tiene dos hijos; el subrbol izquierdo y el
subrbol derecho. Recorridos. El recorrido en un rbol binario permite
rescatar los datos en formas diferentes. Aunque existen varias maneras
de hacerlo, aqu se vern las ms conocidas: inorden, preorden,
postorden. Una de los recorridos ms usados (inorden) es el que
rescata los datos en forma ordenada (de menor a mayor). La tcnica
que usualmente se usa para hacer el recorrido, es ir almacenando los
datos en una estructura lineal: Cola, Lista o Pila. El criterio para escoger
una de las tres depende del problema, pero generalmente los criterios
generales son los siguientes: Cola: los datos quieren ser vistos en el
mismo orden en el cual fueron recorridos y la cola pasa a ser un
instrumento de almacenamiento de "corto plazo" : (almacenar , ver ,
vaciar ). Lista: los datos necesitan ser almacenados y se requieren
operaciones en donde es necesario acceder a los datos en cualquier
posicin. Pila: se necesita que los datos se almacenen en forma de
pila, pasando a ser un instrumento de almacenamiento de "corto
plazo". De aqu en adelante, las implementaciones de recorrido sern
usando una Cola, ya que los problemas que vienen, requieren los
datos en forma ordenada.

o Recorrido En Arbol Binario En Preorden

El recorrido en un rbol binario permite rescatar los datos en formas


diferentes. Aunque existen varias maneras de hacerlo, aqu se vern las
ms conocidas: inorden , preorden , postorden.

Una de los recorridos ms usados (inorden) es el que rescata los datos en


forma ordenada (de menor a mayor).

La tcnica que usualmente se usa para hacer el recorrido, es ir


almacenando los datos en una estructura lineal: Cola , Lista o Pila.

El criterio para escoger una de las tres depende del problema, pero
generalmente los criterios generales son los siguientes :

Cola : los datos quieren ser vistos en el mismo orden en el cual fueron
recorridos y la cola pasa a ser un instrumento de almacenamiento
de "corto plazo" : (almacenar , ver , vaciar ).
Lista : los datos necesitan ser almacenados y se requieren
operaciones en donde es necesario acceder a los datos en
cualquier posicin.
Pila : se necesita que los datos se almacenen en forma de pila,
pasando a ser un instrumento de almacenamiento de "corto plazo".
De aqu en adelante, las implementaciones de recorrido sern usando
una Cola , ya que los problemas que vienen, requieren los datos en forma
ordenada.

o Recorrido En rbol Binario Inorden

Se declara una funcin que recibe como parmetros un arbol binario y


una cola.
Las instrucciones de la funcin, siguen el concepto recursivo de la
definicin, teniendo en cuenta que el concepto de "visitar el elemento de
la raiz" se reemplaza por : obtener la raz e insertar el elemento en la cola y
que la condicin de la recursividad es que se encuentre con algn
subrbol vaco.

*nota : Hay que tener cuidado en verificar que la cola que se pasa como
parmetro sea no vaca. Las funciones sern implementadas en el
archivo "funcArbin.h".

void inordenArbin(Arbin a,Cola col)


{
if (!vacioArbin(a))
{
inordenArbin(izqArbin(a),col);
TipoA raiz = raizArbin(a);
adicCola(col,raiz);
inordenArbin(derArbin(a),col);
}
}
o Recorrido En rbol Binario Posorden

Recorrer el subarbol izquierdo en postorden.


Recorrer el subarbol derecho en postorden.
Examinar la raz.

3. Representacin de los rboles


Diagramas de Venn

Tambin conocido como diagrama de conjuntos. Un diagrama de Venn es


un diagrama que muestra visualmente todas las posibles relaciones lgicas
entre una coleccin de conjuntos, cada uno se representaba generalmente
como un crculo. Cada elemento principal acoge una coleccin de objetos
o conjunto de datos que tienen algo en comn. Cuando varios crculos
(conjuntos) se solapan se forma lo que se conoce como una interseccin,
en ella se muestran los elementos o datos que tienen caractersticas en
comn.
Los diagramas de Venn pueden estar formados por varios conjuntos.
Anidacin de Parntesis

El anidamiento en parentesis est relacionado a la inclusin de estructuras


de control dentro de otras, usualmente indicado mediante la inclusin de
distintos niveles de sangra (llamada indentation en ingls) dentro del
cdigo fuente.
Notacin Decimal de Dewey

Es un sistema de clasificacin de estructura jerrquica est


compuesto por categoras y subcategoras que se organizan en forma de
rbol, formndose divisiones y subdivisiones que dependen unas de otras.
Notacin Decimal
Dewey a la hora de elaborar su sistema de clasificacin se baso en
los nmeros arbigos, ya que stos, a diferencia de las letras, son
universales. Esta clasificacin se basa en un mtodo de organizacin
jerrquica.
Todas las materias deban contener al menos tres nmeros,de tal
manera que si una materia principal contiene un nmero bsico de slo
una o dos cifras, se le debe aadir un cero o dos para completarlo. Si
necesitamos ms de tres cifras lo indicaramos con un punto.
Notas
La Clasificacin Decimal de Dewey contiene cuatro categoras principales
de notas:
Notas referentes al contenido de la clase: Indican el contenido o qu
sinnimos pertenecen a esa clase
Notas referentes al emplazamiento de una materia: Presentan una
ayuda a los clasificadores a la hora de subdividir una materia

Notas referentes al contenido de otra seccin: Hacen una comparacin


con otras materias que estn relacionadas

Notas referentes a los cambios en el sistema: Indicando el nmero que


se hace para la nueva materia.

Notacin Indentada

La Indentacin es un anglicismo (de la palabra inglesa indentation)


de uso comn en informtica; no es un trmino reconocido por la Real
Academia Espaola (consultado en la vigesimosegunda edicin). La Real
Academia recomienda utilizar sangrado. Este trmino significa mover un
bloque de texto hacia la derecha insertando espacios o tabuladores, para
as separarlo del margen izquierdo y mejor distinguirlo del texto adyacente;
en el mbito de la imprenta, este concepto siempre se ha denominado
sangrado o sangra.

En los lenguajes de programacin de computadoras, la indentacin


es un tipo de notacin secundaria utilizado para mejorar la legibilidad del
cdigo fuente por parte de los programadores, teniendo en cuenta que los
compiladores o intrpretes raramente consideran los espacios en blanco
entre las sentencias de un programa. Sin embargo, en ciertos lenguajes de
programacin como Haskell, Occam y Python, el sangrado se utiliza para
delimitar la estructura del programa permitiendo establecer bloques de
cdigo.

Son frecuentes discusiones entre programadores sobre cmo o dnde


usar el sangrado, si es mejor usar espacios en blanco o tabuladores, ya que
cada programador tiene su propio estilo.

Grafo

Un grafo dirigido G consiste en un conjunto de vrtices V y un conjunto


de arcos o aristas A. Los vertice se denominan tambin nodos o puntos.

Un arco, es un par ordenado de vrtices(V,W) donde V es el vrtice


inicial y W es el vrtice terminal del arco. Un arco se expresa como: V>W

Los vrtices de un grafo pueden usarse para representar objetos. Los


arcos se utilizan para representar relaciones entre estos objetos.
Las aplicaciones ms importantes de los grafos son las siguientes:

Rutas entre ciudades.


Determinar tiempos mximos y mnimos en un proceso.
Flujo y control en un programa.

o Operaciones Sobre Grafos:

En esta seccin analizaremos algunas de las operaciones sobre grafos,


como :

Creacin.
Insercin.
Bsqueda.
Eliminacin.

En esta seccin, continuaremos utilizando los apuntadores que se usaron en


las secciones anteriores. TOP para hacer referencia al primer nodo, LD para
indicar liga derecha y LA para indicar liga abajo, por ltimo usaremos los
apuntadores P y Q para hacer referencia a los nuevos nodos que vayan a
ser usados.

o Representacin De Grafos En Memoria

Los grafos se representan en memoria enlazada mediante listas de


adyacencia.

Una lista de adyacencia, se define de la siguiente manera: Para un vrtice i


es una lista en cierto orden formada por todos los vrtices adyacentes [a,i].
Se puede representar un grafo por medio de un arreglo donde cabeza de i
es un apuntador a la lista de adyacencia al vrtice i.

4. Caractersticas y Propiedades de los rboles

La estructura tipo rbol tiene ciertas caractersticas y propiedades que la


distinguen. A continuacin se presentan las ms importantes:
Todo rbol que no es vacio tiene un nico nodo raz.
Un nodo X es descendiente directo de un nodo Y, si el nodo X es
apuntado por el nodo Y. En este caso es comn utilizar la
expresin Xes hijo de Y.
Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta
al nodo Y. En este caso es comn utilizar la expresin X es padre
deY.
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 raz ni terminal u hoja se conoce con el
nombre de interior.
Grado es el nmero de descendientes directos de un determinado
nodo.
Grado del rbol 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 del rbol es el mximo nmero de niveles de todos los nodos
del rbol.

5. Longitud de Camino Interno Y Externo

Longitud de Camino Interno


La longitud de camino interno es la suma de las longitudes de camino de
todos los nodos del rbol. Puede calcularse por medio de las siguientes
formula:

donde i representa el nivel del rbol, h su altura y ni el numero de nodos en


el nivel i.
La LCI del rbol de la figura 1.22 se calcula as:

LCI = 1 * 1 + 2 * 2 + 5 * 3 + 4 * 4 = 36

Ahora bien, la media de la longitud de camino interno (LCIM) se calcula


dividiendo la LCI entre el numero de nodos del rbol (n). Se expresa:
y significa el numero de arcos que deben ser recorridos en un promedio para
llegar, partiendo desde la raiz, a un nodo cualquiera del rbol.
La LCIM del rbol de la figura 1.22 se calcula mediante:

LCIM= 36/12=3

Longitud de Camino Externo


Para definir la longitud de camino externo es necesario primero definir los
conceptos rbol extendido y nodo especial. Un rbol extendido es aquel en
el que el nmero de hijos de cada nodo es igual al grado del rbol. Si alguno
de los nodos del rbol no cumple con esta condicin entonces debe
incorporrsele al mismo nodo especial; tanto como sea necesario satisfacer
la condicin. Los nodos especiales tienen como objetivo remplazar las ramas
vacas o nulas, no pueden tener descendientes y normalmente se
representan con la forma de un cuadrado. En la figura 1.23 se presenta el
rbol extendido de la figura 1.22.

El nmero de nodos especiales de este nodo es de 25. se puede


definir ahora la longitud de camino externo como la suma de las
longitudes de caminos externo como la suma de las longitudes de
caminos de todos los nodos especiales del rbol.
Se calcula por medio de la siguiente formula:
donde i representa el nivel del rbol ,h su altura y n el numero de nodos
especiales en el nivel i. Obsrvese que i comienza desde 2, puesto que la
raiz se encuentra en el nivel 1 y no puede ser nodo especial.
La LCE del rbol de la figura 1.23 se calcula de la siguiente manera:

LCE = 1 * 2 + 1 * 3 + 11 * 4 + 12 * 5 = 109

Ahora bien la media de la longitud d camino externo (LCEM)se


calcula dividiendo LCE entre el numero de nodos especiales del rbol (ne).
Se expresa:

y significa el numero de arcos que debe ser recorridos en promedio para


llegar partiendo de la raiz, a un nodo especial cualquiera del rbol.

LCEM=109/25=4.36

Você também pode gostar