Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Noviembre 10 de 2016
Licencia Creative Commons
Contenido
1. Teoría general de Árboles ....................................................................................................... 3
1.1 Definición de árboles............................................................................................................. 3
1.2 Otros conceptos de la teoría general de árboles .................................................................. 4
1.3 Árbol completo ...................................................................................................................... 5
1.4 Operaciones básicas con árboles .......................................................................................... 5
1.5 Árboles ordenados ................................................................................................................ 6
2. Árboles Binarios ...................................................................................................................... 7
2.1 Definición de árboles binarios ............................................................................................... 7
2.2 Clasificación de los árboles binarios ...................................................................................... 9
Árbol binario completo: .............................................................................................................. 9
Árbol Binario Semejante: .......................................................................................................... 10
Árbol Binario Isomorfo: ............................................................................................................. 11
2.2 Formas de Recorrer un árbol binario .................................................................................. 11
Recorrido en Preorden .............................................................................................................. 12
Recorrido en Inorden ................................................................................................................ 12
Recorrido en Postorden ............................................................................................................ 13
3. Árbol binario de búsqueda (ABB) .......................................................................................... 14
3.1 Más acerca de árboles binarios de búsqueda (ABB) ........................................................... 15
2.5.1 Ventajas de los árboles binarios de búsqueda ................................................................. 17
Fuentes bibliográficas ................................................................................................................... 18
2
ESTRUCTURAS DE DATOS JERÁQUICAS
Los árboles son, sin duda, una de las estructuras de datos no lineales,
conocidas también como estructuras de datos jerárquicas, empleadas en
informática tanto para resolver problemas de hardware como de software.
Los árboles de directorios son organizaciones bastante empleadas por
cualquier usuario o programador de una computadora. De igual manera
cumplen un buen papel en la toma de decisiones, valido como árbol de
decisiones.
3
Figura 1. Representación gráfica de árboles
Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del
árbol. En el ejemplo, 'L' y 'M' son hijos de 'G'.
Los árboles con los que trabajará tienen otra característica importante:
cada nodo sólo puede ser apuntado por otro nodo, es decir, cada nodo
sólo tendrá un padre. Esto hace que estos árboles estén fuertemente
jerarquizados, y es lo que en realidad les da la apariencia de árboles.
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'.
4
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'.
5
Los algoritmos de inserción y borrado dependen en gran medida del tipo
de árbol que se esté implementando, de modo que por ahora se dejarán
a un lado y se centrará la atención en el modo de recorrer los árboles.
1.5 Árboles ordenados
Los árboles ordenados son los que tienen más interés desde el punto
de vista de los tipos de datos abstractos (TAD), y los que tienen más
aplicaciones genéricas.
1
http://www.conclase.net/c/edd/index.php?cap=006b.
6
2. Árboles Binarios
Los árboles binarios son estructuras de datos muy similares a las listas
doblemente enlazadas, en el sentido que tienen dos punteros que apuntan
a otros elementos, pero no tienen una estructura lógica de tipo lineal o
secuencial como aquellas, sino ramificada. Tienen aspecto de árbol, de
ahí su nombre.
7
La rama izquierda y la derecha, también son dos árboles binarios. El
Vértice principal se denomina raíz y cada una de las ramas se puede
denominar como subárbol izquierdo y subárbol derecho.
Grado: el número de hijos que tiene el elemento con más hijos dentro
del árbol. En el árbol del ejemplo en la figura 3, el grado es dos, ya que
tanto ‘A’ como ‘D’ y ‘M’ tienen dos hijos, y no existen elementos con más
de dos hijos.
8
Nivel: se define para cada elemento del árbol como la distancia a la raíz,
medida en nodos. El nivel de la raíz siempre será cero y el de sus hijos
uno. Así sucesivamente. En el ejemplo de la imagen 2, el nodo ‘D’ tiene
nivel 1, el nodo ‘L’ tiene nivel 2.
9
Obsérvese que todos los nodos no terminales tienen sus dos hijos. El
máximo número de nodos que puede tener un árbol de nivel n puede
representarse con la siguiente ecuación matemática:
2°+2¹+2²+2³...+2n
Si n es 3 entonces:
2°+2¹+2²+2³ = 15
Estos árboles son iguales porque sus raíces son iguales y también lo son su
respectivo árbol izquierdo y derecho. Para que un árbol sea igual a otro, es
necesario que el contenido de cada uno de sus respectivos nodos sea el mismo y
que tengan las mismas relaciones de parentesco.
10
Figura 7. Representación gráfica de árboles semejantes
Estos árboles son semejantes. Contienen los mismos valores en cada uno de sus
nodos.
Árbol Binario Isomorfo: Dos árboles binarios son isomorfos si tienen la misma
estructura, aunque el contenido de cada uno de sus nodos sea diferente. Por
ejemplo, los siguientes árboles son isomorfos.
11
Recorrido en Preorden
Veamos cómo se realiza el recorrido paso a paso según la gráfica del árbol
de la figura 9:
Recorrido en Inorden
12
finalmente se recorre el subárbol derecho en Inorden. Esto significa que
para cada subárbol se debe conservar el recorrido en Inorden, es decir,
primero se visita la parte izquierda, luego la raíz y posteriormente la parte
derecha.
Veamos cómo se realiza el recorrido paso a paso según la gráfica del árbol
de la figura 10:
Recorrido en Postorden
13
Veamos cómo se realiza el recorrido paso a paso según la gráfica del árbol
de la figura 11.
Solo queda recorrer la raíz del árbol que para este caso es el número 10.
14
Un ejemplo sería la forma más sencilla de explicarlo y
comprenderlo. Partimos de la siguiente gráfica del árbol binario de
Búsqueda para identificar los recorridos.
Recorrido en preorden:
20 – 13 – 9 – 6 – 10 – 18 – 14 – 17 – 32 – 26 – 24 – 29 – 36 – 34 – 40
Recorrido en inorden:
6 – 9 – 10 – 13 – 14 – 18 – 17 – 20 – 24 – 26 – 29 – 32 – 34 – 36 – 40
Recorrido en postorden:
6 – 10 – 9 – 14 – 17 – 18 – 13 – 24 – 29 – 26 – 34 – 40 – 36 – 32 – 20
Manos a la obra…
Se tienen los siguientes datos de tipo numérico para crear con ellos un
árbol binario de búsqueda.
15
Datos para construir el ABB: 5 – 3 – 7 – 2 – 4 – 8 - 9
5
Primer número: 5 (directo)
3 7
3 7
3 7
2 4
3
16
Sexto número: 8 (8 es mayor que 5 y mayor que 7) en este caso se
ingresa al lado derecho de 7.
5
3 7
2 4 8
3 7
Séptimo número: 9 (9 es mayor que 5, es mayor que 7 y es mayor que
8) en este caso se ingresa al lado derecho del número 8 formando de esta
manera el árbol binario de búsqueda.
3 7
2 4 8
3 7 7
Para este tipo de árbol es muy evidente la rapidez con que se podría
encontrar un el valor de un nodo; para este caso se tienen 7 elementos
de tipo numérico no ordenados, lo que en una lista supone que si se busca
un dato que casualmente está al final, se harían 7 comparaciones; en este
árbol, dado que este árbol es de altura 4, se tienen que realizar 4
comparaciones como máximo.
17
De este modo, el número máximo de comparaciones que se tendrían que
hacer sería representado por la expresión matemática log2(n), lo que
supone que, si se tienen 500 datos, en una lista se podría llegar a tener
que hacer 500 comparaciones, y en un árbol binario de búsqueda,
log2(1000) = 10 comparaciones como máximo. La ganancia en velocidad
de búsqueda es clara.
Fuentes bibliográficas
18