Anda di halaman 1dari 15

INSTITUTO TECNOLOGICO DE VERACRUZ

ESTRUCTURA DE DATOS

ALUMNO: GUILLERMO RAMON MORALES


N° DE CONTROL: E09020671

CARRERA: ING. EN SISTEMAS COMPUTACIONALES

“INVESTIGACION ARBOLES”

FECHA DE ENTREGA:
03/06/11
1
INDICE

ARBOLES
INTRODUCCION......................................................................................................3
CONCEPTOS............................................................................................................. 4
DEFINICIONES ........................................................................................................4
CLASIFICACION .....................................................................................................6
ARBOLES BINARIOS................................................................................... 6
TIPOS DE ARBOLES BINARIOS.................................................7
OTROS TIPOS DE ARBOLES BINARIOS................................ 8
ARBOLES TERNARIOS........................................................................... 10
ARBOLES LIBRES................................................................................... 10
ARBOLES CON RAIZ.............................................................................. 10
OPERACIONES BASICAS CON ARBOLES....................................................... 11
CONCLUSION.......................................................................................................... 14
BIBLIOGRAFIA....................................................................................................... 15

2
INTRODUCCION

En esta investigación se habla de los conceptos de arboles, sus clasificaciones y


sus características asi como las operaciones básicas que se pueden hacer con
estos.
En la primera sección de conceptos vienen conceptos clave para entender mejor
las características, como por ejemplo la altura de un árbol, nodos, hojas, etc,.
En la segunda sección de clasificación se trata los tipos de arboles, ya sean
binarios , arboles ternarios , arboles libres y arboles con raíz, asi como la
subclasificacion de los arboles binarios que son los mas comunes que se
subclasifican en otros mas.
En la tercera sección se trata las operaciones de básicas como la adicion la
eliminación, los diferentes modos de búsqueda y recorrido en un árbol etc.

ARBOLES
CONCEPTO
El árbol es una abstracción matemática de una estructura no lineal que modela
una estructura jerárquica. El árbol juega un papel central en el diseño y análisis
de algoritmos ya que se utilizan para describir propiedades dinámicas de los
algoritmos y porque se construyen. Los árboles se encuentran frecuentemente en
la vida diaria: en árboles genealógicos y representación de torneos. En
computación los encontramos en los compiladores, en la organización de sistemas
de archivos la estructura de herencia de las clases de Java es un árbol, la
invocación de los métodos en tiempo de ejecución en Java es un árbol;
procesamiento de textos y algoritmos de búsqueda.
El árbol También se define como una estructura de datos no lineal. Esta estructura
se usa principalmente para representar datos con una relación jerárquica entre
sus elementos, como por ejemplo registros, árboles genealógicos y tablas de
contenidos. Entre otros tenemos un tipo especial de de árbol que es, llamado
árbol binario, que puede ser implementado fácilmente en la computadora.
DEFINICIONES:
⇒ Nodo hijo: cualquiera de los nodos apuntados por uno de los
nodos del árbol. En el ejemplo, 'L' y 'M' son hijos de 'G'.
⇒ Nodo padre:nodo que contiene un puntero al nodo actual. En el
ejemplo, el nodo 'A' es padre de 'B', 'C' y 'D'.
⇒En cuanto a la posición dentro del árbol:
⇒Nodo raíz:nodo que no tiene padre. Este es el nodo que usaremos
para referirnos al árbol. En el ejemplo, ese nodo es el 'A'.
⇒ Nodo hoja:nodo que no tiene hijos. En el ejemplo hay varios: 'F',
'H', 'I', 'K', 'L', 'M', 'N' y 'O'.
⇒ Nodo rama:aunque esta definición apenas la usaremos, estos son
los nodos que no pertenecen a ninguna de las dos categorías
anteriores. En el ejemplo: 'B', 'C', 'D', 'E', 'G' y 'J'.
CONCEPTOS QUE DEFINEN LAS CARACTERÍSTICAS DEL ÁRBOL, EN RELACIÓN A SU
TAMAÑO:
⇒Orden: es el número potencial de hijos que puede tener cada
elemento de árbol. De este modo, diremos que un árbol en el que
cada nodo puede apuntar a otros dos es deorden dos, si puede
apuntar a tres será deorden tres, etc.
⇒ Grado: el número de hijos que tiene el elemento con más hijos
dentro del árbol. En el árbol del ejemplo, el grado es tres, ya que
tanto 'A' como 'D' tienen tres hijos, y no existen elementos con más
de tres hijos.4
⇒ Nivel: se define para cada elemento del árbol como la distancia a
la raíz, medida en nodos. El nivel de la raíz es cero y el de sus hijos
uno. Así sucesivamente. En el ejemplo, el nodo 'D' tiene nivel 1, el
nodo 'G' tiene nivel 2, y el nodo 'N', nivel 3.
⇒ Altura: la altura de un árbol se define como el nivel del nodo de
mayor nivel. Como cada nodo de un árbol puede considerarse a su
vez como la raíz de un árbol, también podemos hablar de altura de
ramas. El árbol del ejemplo tiene altura 3, la rama 'B' tiene altura 2,
la rama 'G' tiene altura 1, la 'H' cero, etc.

5
CLASIFICACION
⇒ ARBOLES BINARIOS

⇒ ARBOLES TERNARIOS

⇒ ARBOLES LIBRES

⇒ ARBOLES CON RAIZ


⇒ Árboles binarios
Conjunto finito de nodos el cual puede ser vacío
o tener un par de árboles llamados izquierdo y
derecho.
Cuando un nodo no tiene hijos se le llama hoja o
nodo terminal.

La Altura de un árbol es el número de niveles


que tiene.
Un árbol es completo cuando contiene el número
máximo de nodos para su altura.
⇒ Árbol Binario Completo o Lleno: Es un árbol binario en el que todos sus
nodos, excepto las hojas, tienen siempre dos hijos (el subárbol izquierdo y el
derecho) no nulos. El número de nodos de un árbol completo se calcula por la
fórmula: Número de nodos = 2h-1 (donde h es la altura)
⇒ Árbol Binario Completo de Altura o Profundidad H: Es un árbol Binario
Completo en donde todas las hojas están en el nivel H. Esta es una de las pocas
estructuras de árbol que se pueden representar eficientemente usando arreglos.
Una expresión es una secuencia de componentes léxicos (tokens), que siguen
reglas preescritas. Un token puede ser un operador o un operando. Un árbol
binario de búsqueda es un árbol en el que todo nodo existente tiene un sólo
elemento y cumplen lo siguiente:

-cada hoja es un operando.


De -el nodo raíz y los nodos internos son operadores.
Expresion -los subárboles son sub_expresiones en las que
el nodo raíz es un operador.

árboles
binarios -todas las claves del subárbol izquierdo son
que la raíz.
De - todas las claves del subárbol derecho son menores
busqueda que la raíz.
-los subárboles izquierdo y derecho son también
árboles de búsqueda.

Tipos de arboles binarios

⇒DISTINTOS. Dos árboles binarios son


distintos cuando sus
estructuras son diferentes.

⇒ SIMILARES. Dos árboles binarios son


similares cuando
sus estructuras son idénticas, pero la información que
contienen sus nodos es diferente.
Arboles binarios
⇒ EQUIVALENTES. Son aquellos árboles que
son similares y
que además los nodos contienen la misma información.

⇒ COMPLETOS. Son aquellos árboles en los que


todos sunodos
excepto los del último nivel, tiene dos hijos; el subárbol izquierdo y el
subárbol derecho.

7
OTROS TIPOS DE ARBOLES
Ø Árboles enhebrados
Existe un tipo especial de árbol binario llamado enhebrado, el cual contiene
hebras que pueden estar a la derecha o a la izquierda.
⇒ ARBOL ENHEBRADO A LA DERECHA. Este tipo de árbol tiene un apuntador a
la derecha que apunta a un nodo antecesor.
⇒ ARBOL ENHEBRADO A LA IZQUIERDA. Estos árboles tienen un apuntador a la
izquierda que apunta al nodo antecesor en orden.

BOSQUE
Entenderemos como bosque a un conjunto normalmente ordenado de dos o más
árboles generales.

ÁRBOLES AVL
Un árbol AVL es un árbol binario de búsqueda al que se le añade una condición de
equilibrio. Esta condición es que para todo nodo la altura de sus subárboles
izquierdo y derecho pueden diferir a lo sumo en 1. AVL son las iniciales de
Adelson-Velskii y Landis, los hombres que idearon este tipo de árbol.

A. B. DISTINTO
Se dice que dos árboles binarios son distintos cuando sus estructuras son
diferentes. Ejemplo:

A. B. SIMILARES
Dos arboles binarios son similares cuando sus estructuras son idénticas, pero la
información que contienen sus nodos es diferente. Ejemplo:

8
A. B. EQUIVALENTES
Son aquellos arboles que son similares y que además los nodos contienen la
misma información. Ejemplo:
A. B. COMPLETOS
Son aquellos arboles en los que todos sus nodos excepto los del ultimo nivel, tiene
dos hijos; el subarbol izquierdo y el subarbol derecho.

⇒ Arboles
ternarios
Un árbol ternario es una estructura similar a un
árbol, tiene una raíz y cada nodo tiene máximo tres hijos.

⇒ Arboles libres

Es una colección de vértices y lados que


satisfacen ciertos requerimientos. Un vértice
es un objeto que tienen un nombre y puede
contener otra información asociada. Un lado
es una conexión entre dos vértices.

⇒ Arboles con raiz


En este árbol un nodo es designado como la
raíz del árbol, en computación se usa a este
concepto se le conoce simplemente como
árbol.

10
Operaciones básicas con arboles

ÁRBOLES AVL
Un árbol AVL es un árbol binario de búsqueda al que se le añade una condición de
equilibrio. Esta condición es que para todo nodo la altura de sus subárboles
izquierdo y derecho pueden diferir a lo sumo en 1. AVL son las iniciales de
Adelson-Velskii y Landis, los hombres que idearon este tipo de árbol.

Operaciones básicas en los árboles binarios.


Inserción. La inserción de un elemento en un árbol AVL es idéntica que en un
árbol binario de búsqueda, la diferencia se encuentra en la comprobación que hay
que realizar posteriormente en los árboles AVL.
En un árbol AVL tras realizar la inserción hay que comprobar que se sigue
manteniendo la condición de equilibrio, o lo que es lo mismo, que la altura del
subárbol izquierdo y la del subárbol derecho difieran en una unidad o sean
iguales. Si se produce un desequilibrio hay que reequilibrar la estructura para que
siga siendo un árbol AVL.
Borrar. El procedimiento de borrado es el mismo que en el caso de arbol binario
de busqueda. La diferencia se encuentra en el proceso de reequilibrado posterior.
Este proceso es idéntico al que se realiza en la inserción, la única diferencia es
que en la inserción tras realizar una rotación el árbol ya estaba equilibrado,
mientras que en el borrado puede ser necesario realizar mas de una rotación.

Rotación Simple
REEQUILIBRIO DE
LOS ÁRBOLES AVL
Rotación doble

Las operaciones adicionales en un árbol AVl son análogas a las de árboles de


busque da binarios. Los árboles AVL son un subconjunto de los árboles de busque
da binarios, por lo que sus aplicaciones son muy similares.

11
ÁRBOLES B
Los árboles reciben su nombre de R. Bayer, contienen entre n y 2n nodos, siendo
n una constante dada. Como consecuencia de esto se puede deducir que los
árboles B no son árboles binarios como sí lo son los binarios de búsqueda o los
AVL. En los árboles B los nodos se agrupan dentro de páginas, por lo que se
podría definir a la página como un conjunto de nodos.
Los árboles B deben cumplir las siguientes características en cuanto a estructura:
1. Todas las hojas en el árbol están al mismo nivel.
2. Cada nodo contiene entre n y 2n elementos, excepto la raíz que tiene entre
1 y 2n.
3. Si en nodo tiene m elementos, en nodo contendrá 0 ó m+1 hijos.
4. Los elementos de un nodo del árbol están ordenados linealmente en el
nodo.
5. Los elementos del árbol B están organizados siguiendo las propiedades de
un ABB, es decir, los elementos menores a la izquierda y los mayores a la
derecha del nodo original.
Operaciones básicas en los árboles B
Insertar. La primera acción a realizar en la operación de inserción es localizar el
lugar adecuado en el árbol donde se insertará el nuevo elemento. Una vez
localizado el lugar adecuado, hay que tener en cuenta el número de nodos que
tiene la página destino del nuevo elemento. Si tiene menos de 2n, entonces se
inserta el nuevo nodo y se da por finalizada la operación de inserción.
La complejidad se produce cuando la página destino está al completo de su
capacidad, es decir, tiene 2n nodos. En estos casos el procedimiento a seguir es
el siguiente:
1. Insertar el nodo como si realmente tuviese sitio libre.
2. Extraer el nodo que ocupa la posición del medio e insertarlo en la página
padre. Si no hubiese página padre se crearía una nueva página con ese
nodo.
3. Dividir la página original en dos nuevas páginas, cada una de ellas con n
elementos. Estas páginas serán los hijos derechos e izquierdos del nodo que
promocionó a la página superior.
4. Si la página a la que promociona el nodo mediano también se encuentra
completa, se repetiría la misma operación de división y promoción.
Como consecuencia de que todas las hojas deben estar en el último nivel, los
árboles B crecen hacia arriba (este crecimiento se produce cuando la inserción de
un nodo en una página completa provoca su división) y la ausencia de la
restricción de 2 hijos por nodo que tienen los binarios son características que los
diferencia del resto de árboles. Los árboles B tienen un campo de aplicación
similar a los árboles binarios de búsqueda, ya que también son árboles de
búsqueda. 12
Borrar.
a).-Cuando el nodo que contiene el elemento por eliminar posee más del mínimo
de elementos, se elimina el elemento del nodo y el proceso de eliminación
termina.

b).-Cuando el nodo que contiene el elemento a eliminar posee exactamente el


mínimo de elementos se buscara otro elemento que pueda sustituir al que se dará
de baja y si no existe un sustituto se deberá unir dos nodos. Cuando alguno de los
hermanos adyacentes al nodo que se dará de baja tiene más del mínimo de
elementos, el elemento padre del nodo con el elemento por borrar lo sustituirá
cuando sea borrado. Si no existe un hermano adyacente con mas del mínimo de
elementos el nodo donde ocurre la eliminación y un hermano adyacente se unen
junto con el elemento padre que desaparece del nodo padre, si este ultimo queda
con mas del mínimo de elementos el proceso termina, sino, se analiza la
eliminación en el nodo padre repitiendo los pasos anteriormente mencionados.

c).-Si el nodo que contiene el elemento por eliminar es la raíz del árbol y posee un
solo elemento el nodo desaparece y la nueva raíz del árbol será el nodo resultado
de la unión de los hijos que dependían de la raíz anterior.
Como en el caso de los árboles binarios las operaciones secundarias más usuales
son las búsquedas y los recorridos. Estos algoritmos son semejantes a los
utilizados para los árboles binarios.

13
CONCLUSIÓN

En esta investigación se vio un nuevo tipo de estructura , no lineal, su definición


como se forman y como se efectúan las operaciones con ellos, su balanceo
después de estos.
La clasificaion de ellos da una idea de para que tipo de problemas se pueden
utilizar, ya sean opuestos, similares, etc.
Tal vez lo mas complicado de los arboles sean las operaciones y su balanceo
después de efectuar las operaciones.
14

BIBLIOGRAFIA

http://fcqi.tij.uabc.mx/docentes/palacios/Unidad%20IV%20Arboles.pdf
http://www.monografias.com/trabajos36/arboles/arboles.shtml#intro
http://www.slideshare.net/evansbv/arboles-binarios}
http://es.wikipedia.org/wiki/%C3%81rbol_binario
http://c.conclase.net/edd/?cap=006b
15