Sie sind auf Seite 1von 11

MARCO TEORICO

ARBOL
El rbol es una estructura de datos fundamental en la informtica, muy
utilizada en todos sus campos, por que se adapta a la representacin natural
de informaciones homogneas organizadas y de una gran comodidad y
rapidez de manipulacin.
Otra definicin de rbol es como tipo de grafo cclico, conexo y no dirigido.

Las estructuras tipo rbol se usan principalmente para representar


datos con una relacin jerrquica entre sus elementos, como son
rboles genealgicos, tablas, etc.

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.

Una estructura vaca o un elemento o clave de informacin (nodo) mas un numero finito
de estructuras tipo rbol, disjuntos, llamados subrboles. Si dicho numero de estructuras
es inferior o igual a dos, se tiene un rbol binario.

Es por tanto, una estructura no secuencial.

NODO
Un nodo es un punto de interseccin o unin de varios elementos que confluyen en el mismo
lugar.
Terminologa de rboles
La representacin y terminologa de los arboles se realiza con las tpicas notaciones de las
relaciones familiares en los rboles genealgicos: padre, hijo, hermano, ascendente,
descendiente, etc.
RAIZ: Todos loa rboles que no esta vacos tienen un nico nodo raz. Todos los dems
elementos o nodos derivan o descienden de el. El nodo Raz no tiene Padre es decir no es hijo de
ningn elemento
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.
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.
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 (hijos).
NODO: Son los Vrtices o elementos del rbol.

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. Equivale al nivel ms
alto de los nodos ms 1.
PESO: Es el nmero de nodos terminales del rbol
LONGITUD DE CAMINO: Es el nmero de arcos que deben ser recorridos para llegar desde
la raz al nodo X. Por definicin la raz tiene longitud de camino 1, y sus descendientes directos
longitud de camino 2 y as sucesivamente.
ESTRUCTURA DE DATOS RBOLES
Generalidades: Un rbol es una estructura de datos no lineal constituida por
un conjunto de elementos del mismo tipo llamados nodos, que normalmente
representan instancias de clases. La estructura de datos rbol se dice no
lineal porque sus elementos (nodos) no se organizan de la misma manera
que por ejemplo en un arreglo, en una matriz o en una lista enlazada, en
donde vemos que existe un orden de precedencia entre los elementos y
sobre todo el recorrido de estos se hace en un mismo sentido o direccin, es
decir de izquierda a derecha o de derecha a izquierda. De este modo un
rbol es una estructura de datos no lineal puesto que no existe un nico
camino para acceder a un elemento (nodo) desde otro, adems de que sus
elementos no se organizan de forma posicional (como en un arreglo), ni
tampoco en el sentido de antecesor y sucesor, toda vez que la estructura de
un rbol organiza sus nodos segn una relacin de jerarqua, en el sentido de
nodos padres y nodos hijos, sin haber relacin de herencia; es decir, que la
relacin entre los nodos de un rbol es ms una relacin de contenencia o
pertenencia que de herencia, por cuanto algunos nodos del rbol (llamados
padres) pueden estar compuestos por otros nodos (llamados hijos). Recuerde
que las estructuras de datos lineales se caracterizan por que a cada
elemento le corresponde como mximo un nico elemento siguiente,
mientras que en las estructuras de datos no lineales como es el caso de un
rbol, un elemento (nodo) puede tener varios sucesores (elementos
siguientes), lo cual representa una estructura multi enlazada.
Terminologa: En un rbol el nodo principal es llamado nodo raz, a partir de
l se crean los dems elementos del rbol como hijos del nodo principal, o
hijos de los hijos de este. Los nodos que no tienen hijos se les llaman nodos

hojas y a los nodos que no son ni raz ni hojas se les llama ramas o nodos
internos. Al conjunto de nodos comprendido entre dos nodos dados, que se
usa para llegar desde uno hasta otro se le llama camino. La longitud de un
camino representa la cantidad de nodos que lo conforman. Adems de estos
conceptos, en la terminologa de rboles encontramos otros conceptos, como
por ejemplo el grado de un nodo, que se define como el nmero de nodos
hijos (descendientes directos) que un nodo tiene. El grado de un rbol, es
entonces determinado por el nmero de nodos hijos que tiene el nodo de
mayor cantidad de hijos. En virtud de este concepto un rbol tenemos a los
arboles binarios, cuyo grado es dos, lo que significa que cualquier nodo del
rbol como mximo puede tener dos hijos y son los tipos de arboles ms
populares y de mayor aplicabilidad. Los arboles tiene muchas aplicaciones y
se suelen usar para representar informacin que se organiza en forma
jerrquica, es decir, segn un orden de prioridad o de importancia, por
ejemplo el ndice de un libro que est compuesto por unidades, las cuales
contienen captulos y estos se

ARBOL BINARIO CONCEPTO


un rbol binario es una estructura de datos en la cual cada nodo siempre
tiene un hijo izquierdo y un hijo derecho. No pueden tener ms de dos hijos
(de ah el nombre "binario"). Si algn hijo tiene como referencia a null, es
decir que no almacena ningn dato, entonces este es llamado un nodo
externo. En el caso contrario el hijo es llamado un nodo interno.

Los rboles de expresin


Los rboles de expresin representan el cdigo en una estructura de datos
similar a un rbol, donde cada nodo es una expresin; por ejemplo, una
llamada a un mtodo o una operacin binaria como x < y.
El cdigo representado en rboles de expresin se puede compilar y ejecutar.
Esto permite realizar cambios dinmicos en cdigo ejecutable, ejecutar
consultas LINQ en varias bases de datos y crear consultas dinmicas.

Construir un rbol de expresin


En esta seccin, vamos a analizar expresiones infijas y a construir sus
correspondientes rboles de expresin. Por ejemplo, la expresin (3+7)*9 da
como resultado el rbol siguiente:
[pic]
Ten en cuenta que hemos simplificado el diagrama eliminando los nombres
de los atributos.
El analizador que vamos a escribir trabaja con expresiones que incluyen
nmeros, parntesis y los operadores + y *. Damos por hecho que la cadena
de entrada ya se ha introducido en una lista de Python. La lista de elementos
para (3+7)*9 es la siguiente:
['(', 3, '+', 7, ')', '*', 9, 'end']

Recorrido de un rbol
Podemos recorrer un rbol de expresin y mostrar los resultados de la
siguiente manera:
Def mostrarArbol(arbol):
if arbol == None: return
print arbol.datos,
mostrarArbol(arbol.izquierdo)
mostrarArbol(arbol.derecho)
En otras palabras, para mostrar un rbol primero hay que mostrar el
contenido de la raz, despus el subrbol izquierdo entero y seguidamente el
subrbol derecho entero. Esta forma de recorrer un rbol se
denomina preorden, porque el contenido de la raz aparece antes que el
contenido de los nodos hijos. Para el ejemplo anterior, el resultado es el
siguiente:
>>> arbol = Arbol('+', Arbol(1), Arbol('*', Arbol(2), Arbol(3)))
>>> mostrarArbol(arbol)
+1*23
UNA APLICACIN: ARBOLES DE EXPRESIN.
Una importante aplicacin de los rboles en la informtica es la
representacin de rboles sintcticos,es decir,rboles que contienen las
derivaciones de una gramtica necesarias para obtener una determinada
frase de un lenguaje.
Podemos etiquetar los nodos de un rbol con operandos y operadores de
manera que un rbol represente una expresin.Por ejemplo. en la figura 5 se
representa un rbol con la expresin aritmtica (x-y)*(z/t).

RBOLES BINARIOS DE BUSQUEDA


Snchez muoz jean Carlos
Mera Huamn Melvin Anderson
Resumen:
Se desarrollara el tema de arboles binarios de bsqueda, sin pasar por alto
los principales temas relacionados con ellos, es decir trataremos tambin los
temas de arboles (en general) y arboles binarios, veremos las operaciones
realizables en ellos as como sus respectivos algoritmos.
Las operaciones ms utilizadas en una implementacin de arboles binarios
de bsqueda son :el recorrido del rbol, el cual como veremos ms adelante
puede ser de tres tipos: in-orden,post-orden y pre-orden; la insercin de un
nuevo elemento dentro de nuestro rbol, la cual solo se podr llevar a cabo
despus de comparar dicho elemento con nuestro nodo raz o cabeza. La
eliminacin de un nodo, como veremos en el transcurso de nuestro trabajo
tiene tres posibles casos, segn los cuales trabajaremos ms o menos para
eliminar un determinado elemento del rbol, sin embargo por deduccin
podemos saber ya que el mayor trabajo lo realizaremos en el caso que
quisiramos extraer el elemento raz. Finalmente tenemos la operacin de
bsqueda de un elemento dentro de nuestro rbol; esta es la operacin mas
importante debido a que nuestro tema toma su nombre: arboles binarios de
BUSQUEDA.
INTRODUCCIN:
Los grafos, esencialmente los grafos dirigidos son de mucha ayuda cuando
necesitamos alcanzar un alto nivel de orden en nuestro trabajo.
Uno de los tipos de grafos ms importantes son los rboles que forman una

de las subclases de grficasque ms se utilizan, tambin llamados arboles


arraigados, debido a la apariencia de sus grafos dirigidos, tienen muchas
utilidades en distintos campos de aplicacin, como por ejemplo en las
ciencias de la Computacin hacen uso de los arboles ampliamente,
especialmente para organizar y relacionar informacin en una base de datos
de tal forma que sea posible efectuar eficientemente operaciones que
involucren a esa informacin, y para compiladores de lenguajes. Los arboles
surgen en problemas tericos como el tiempo optimo para ordenar.
Definimos un rbol como un grafo ordenado aplicado sobre una coleccin
de elementos llamados nodos, uno de los cuales es conocido como raz, en
dicho grafo estn conectados 2 vrtices, llamados nodos hijos del nodo raz,
en cada uno de los hijos tambin estn conectados dos vrtices (sus
respectivos hijos), esta cadena se prolonga hasta llegar a los ltimos nodos,
estos nodos conocidos como hojas ya no tienen ramificaciones hacia ninguna
parte.
El presente tiene como finalidad desarrollar el tema de arboles binarios de
bsqueda, logrando de esta manera dominar ampliamente su estructura y
funcionalidad para poder hacer uso de ellos cuando nos enfrentemos a un
problema que merite el uso de estas complicadas pero muy tiles
estructuras de datos.
Nuestro trabajo se ha estructurado en tres temas principales, ARBOLES,
ARBOLES BINARIOS Y ARBOLES BINARIOS DE BUSQUEDA; estos temas a su
vez se van sub-dividiendo en pequeas secciones complementarias que dan
forma y fondo a nuestro trabajo. Esperando que el presente rena las
condiciones de su exigencia.
Atte. El grupo
RBOL DE BSQUEDA BINARIA:
1.-ARBOLES.
Un rbol es una estructura de datos no lineal y homognea en el que cada
elemento puede tener varios elementos posteriores, pero tan slo puede
tener un elemento anterior. tiene una estructura jerrquica aplicada sobre
una coleccin de elementos u objetos llamados nodos; de los cuales uno es
conocido como raz. Adems se crea una relacin o parentesco entre los
nodos dando lugar a trminos como padre, hijo, hermano, antecesor,
sucesor, ancestro, etc. Dado un nodo cualquiera de

la estructura, podemos considerarlo como una estructura independiente. Es


decir, un nodo cualquiera puede ser considerado como la raz de un rbol
completo.
Un rbol es tambin una estructura dinmica no lineal. Dinmica porque las
estructuras de rbol pueden cambiar durante la ejecucin de un programa.
No lineal, puesto que a cada elemento del rbol pueden seguirle varios
elementos. En las estructuras de datos lineales cada elemento tiene un nico
elemento anterior y un nico elemento posterior.
El tipo de estructura ms general son los grafos. En un grafo cada elemento
puede tener varios elementos anteriores y varios elementos posteriores. Los
arboles no son ms que un tipo especial de grafo en el que cada elemento
puede tener varios elementos posteriores, pero tan solo puede tener un
elemento anterior. Tanto grafos como arboles son estructuras no lineales.
Adems de la definicin de un rbol se nos haceindispensable conocer
tambin otros conceptos muy importantes a la hora de codificar nuestro
rbol. Estos conceptos se mencionan a continuacin:
1.1Conceptos en relacin con otros nodos:
NODO PADRE.- nodo que contiene un puntero al nodo actual. En un rbol
un nodo cualesquiera solo puede tener un solo nodo padre. X es padre de Y
si y solamente si el nodo X apunta hacia el nodo Y. tambin se dice que el
nodo X es antecesor del nodo Y.
NODO HIJO.- un nodo hijo dentro de un rbol es cualquier nodo que est
siendo apuntado por otro, un nodo puede tener varios hijos (hablamos de
rbol en general, en un rbol binario cada nodo tiene nicamente dos
hijos) .se dice que el nodo X es hijo del nodo Y si este est apuntando a
aquel, X es llamado descendiente directo de Y.
NODO HERMANO.- diremos que dos nodos son hermanos solamente si
ambos son descendientes directos de un mismo nodo (nodo padre).
1.2Conceptos en relacin a su posicin dentro del rbol:
NODO RAIZ.- este es el nico nodo, en todo el rbol, que no posee padre.
Este nodo es el que usaremos para referirnos al rbol, es tambin llamado
nodo cabeza.
NODO HOJA.- estos nodos no tienen hijos, se les llama nodos terminales.
NODO INTERIOR.- estos nodos se encuentran en la parte intermedia de

cualquier rbol, no son ni nodos padres ni nodos hijos.


1.3conceptos extras, caractersticas en relacin con su tamao:
Orden.- es el numero potencial de hijos que puede tener cada elemento
del rbol.de este modo podemos decir que un rboles de orden dos, si cada
elemento de dicho rbol puede apuntar a otros dos nodos, si puede apuntar a tres, ser un rbol
de orden tres.
Grado.- es el nmero de hijos que tiene el elemento con ms hijos dentro del rbol.
Nivel.- se define, para cada elemento del rbol, como la distancia que separa a este de la raz,
se mide en nodos. el nivel de la raz es cero, el de sus dos hijos es uno, y as sucesivamente.
Altura. la altura de un rbol es el mximo nmero de nodos que hay que recorrer para llegar
desde la raz a la hoja que est en el nivel mas bajo.
Peso.- es el nmero de nodos de un rbol sin contar la raz.
Camino.-es una secuencia de nodos, en el que dos nodos consecutivos cualesquiera son padre
e hijo.
Longitud de camino.- es el nmero de arcos que deben ser recorridos para llegar de la raz a
un nodo dado.
Rama.- es el camino desde el nodo raz a una hoja.
Los arboles tienen una gran variedad de aplicaciones. Por ejemplo, se pueden utilizar para
representar formulas matemticas, para organizar adecuadamente la informacin, para construir
un rbol genealgico, para el anlisis de circuitos elctricos, para numerar los captulos y
secciones de un libro, etc.
2.-ARBOLES BINARIOS
Los arboles binarios son arboles de orden dos, esto es que de cada nodo pueden pender como
mximo dos nodos (izquierdo y derecho).
Existen dos tipos de arboles binarios, los arboles binarios completos y los equilibrados. A los
primeros se les llama as porque cada nodo tiene el nmero
.- ARBOLES BINARIOS DE BUSQUEDA
Un rbol es un ABB si ste es binario y sus nodos son sub-rboles de
bsqueda binarios y contienen informacin ordenada de tal forma que todos
los elementos a la izquierda de la raz son menores a la raz y todos lo
elementos a la derecha de la raz son mayores a la raz.
3.1.-OPERACIONES
Las operaciones mas comunes en un rbol de bsqueda binaria son:

recorridos (pre, in y post orden), insertar nodo, eliminar nodo y buscar nodo.
Las operaciones de recorridos ya las vimos en el transcurso deeste trabajo
asi que nos centraremos en las operaciones restantes.
3.1.1.-Insercin
Esta es una operacin que se puede realizar eficientemente en un rbol
binario de bsqueda. La estructura crece a medida que se inserten
elementos al rbol.
Los pasos que deben realizarse para insertar un elemento a un ABB son los
siguientes:
Debe compararse el valor o dato a insertar con la raz del rbol. Si es
mayor, debe avanzarse hacia el subrbol derecho. Si es menor, debe
avanzarse hacia el subrbol izquierdo.
Repetir sucesivamente el paso anterior hasta que se cumpla alguna de las
siguientes condiciones:
1.- El subrbol derecho es igual a vaci, o el subrbol izquierdo es igual a
vaci; en cuyo caso se proceder a insertar el elemento en el lugar que le
corresponde.
2.-El valor o dato que quiere insertarse es igual a la raz del rbol; en cuyo
caso no se realiza la insercin.
CONCLUCIONES
Despus de haber realizado nuestro trabajo sobre arboles binarios de
bsqueda estamos en condiciones de afirmar que:
Efectivamente, el uso de esta estructura de datos es de mucha utilidad en
cuanto a resolver problemas de indexacin de ficheros se trata, pues dentro
de los arboles binarios tenemos toda la informacin ordenada
meticulosamente y se nos hace ms fcil acceder a ella.
Aunque es muy eficiente, esta estructura de datos tambin tiene defectos
sustanciales, por ejemplo el nmero de consultas en un rbol, para buscar
determinado dato aumenta rpidamente con el nmero de registros a
ordenar.

BIBLIOGRAFIA
1. http://www.programacionfacil.com/estructura_de_datos/arbol_binario.
2. http://www.dcc.uchile.cl/~lmateu/CC10A/Apuntes/arboles/index.html.
3. http://www.cs.jhu.edu/~goodrich/dsa/trees/btree.html.
4. www.lawebdelprogramador.com Foros Java
5. www.edutecne.utn.edu.ar/estruc-datos/estruc-datos.pdf
6. www.scielo.org.co/scielo.php?pid=S0034-74262006000200005...
7. arboles-bin.blogspot.com/2008/09/arboles-binarios.html
8. html.rincondelvago.com/estructuras-de-datos_2.html
9. holamundopascal.blogspot.com/2008/03/capitulo-8.html
10.informatica.utem.cl/~mcast/.../POO/MemoriaDinamicaYRecursividad.doc
11.www.identi.li/?topic=57281
12.www.codeforge.com/article/146557
13.creationexus.cl/foro/99.../438-Arbol-Binario-con-Iterador-en-JAVA.html
14.www.es-asp.net Foros ASP.NET Foro C#
15.www.sites.upiicsa.ipn.mx/polilibros/portal/.../arboles_balanceados.html
16.www.fceia.unr.edu.ar/estruc/2006/arbobihi.htm
17.blog.freshware.es/ordenar-alfabeticamente-un-arbol/

18.jsbsan.blogspot.com/2012/08/ejemplo-de-uso-de-arbol-binario-el.html
19.www.programacion.com/.../[tema_tipo_ayuda]_arbol_binario_en_octav...
20.informaciona.com/creacion-arboles-binarios-java/videos
21.oropezaroberto.awardspace.com ... Tutoriales Estructura de Datos
22.drinarincon.blogspot.com/2012/06/arbol-binario.html
23.ucaed2005.tripod.com/practicos/tp05.pdf
24.casanaariasyimi.es.tl/Arbol-binario-de-busqueda.htm
25.josue-nerd.blogspot.com/2013/04/arbol-binario-consola-c.html
26.casicodigo.blogspot.com/2012/11/arboles-binarios-de-busqueda-c.html
27.yaqui.mxl.uabc.mx/~mlglez/algoyest/ApuntesAlumnos/recorridos.doc
28.delta.cs.cinvestav.mx/~adiaz/anadis/BinTree.pdf
29.www.cs.famaf.unc.edu.ar/~fridlend/cursos/algoritmos2/.../aclase0810.pdf
30.www.zator.com/Cpp/E4_5_8b.htm
31.www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r89289.PDF
32.www.cartagena99.com/recursos/.../arbolesbinariosdebusqueda.pdf
33.elframeworkdeluis.wordpress.com/.../ejemplo-de-un-arbol-binario-en-ja..
34.informatica.uv.es/iiguia/AED/oldwww/2002_03/.../pr_06_2003.pdf
35.campus.claroline.net/claroline/backends/download.php?url...true..
36.https://sites.google.com/site/ebookbit/home/listas-y-arboles
37.es.scribd.com/.../Transformacion-de-un-Arbol-Gral-en-un-Arbol-Binario
38.foro.elhacker.net/...cc/graficar_arboles_binarios-t395920.0.html
39.www.ganimides.ucm.cl/haraya/doc/arbol_avl.pdf
40.garciagregorio.webcindario.com/ed/arboles_binarios2.pdf
41.www.madsgroup.org/docencia/alg/arboles_monticulos.pdf
42.www.lawebdelprogramador.com Foros Java
43.www.buenastareas.com Pgina principal Tecnologa
44.www.fi.unju.edu.ar/.../Estructura_de_Datos_y_Arboles_Equilibrados.pdf...
45.www.elrincondelc.com/nuevorincon/index.php?pag=codigos&id=4
46.sites.google.com/site/.../unidad-iii...y-arboles/3-7-arboles-binarios
47.gpd.sip.ucm.es/yolanda/EDI0910/TrArboles.pdf
48.www.esacademic.com/dic.nsf/eswiki/99819
49.informatica.utem.cl/~mcast/ESDATOS/POO/ApunteArboles.pdf
50.sistemas.ing.ula.ve/~e.velasquez/abb.html

Das könnte Ihnen auch gefallen