Professional Documents
Culture Documents
UNIDAD 6
UNIDAD N 5
rboles. Definicin. Formas de Representacin. Caractersticas y Propiedades. Longitud de camino. rboles Binarios. Definicin. Terminologa. rboles Binarios distintos, similares y equivalentes. rboles Binarios Llenos y Completos. Representacin de rboles generales como binarios. Implementacin de rboles Binarios. Operaciones. rboles de Bsqueda Binarios. Definicin. Bsqueda. Operaciones. rboles Balanceados rboles Binarios Enganchados. Definicin. Criterio de enganche. Operaciones. rboles B. Definicin. Representacin. Operaciones
ARBOLES
Definicin:
Un rbol es una estructura de datos, que puede definirse de forma recursiva como: - Una estructura vaca o - Un elemento o clave de informacin (nodo) ms un nmero finito de estructuras tipo rbol, disjuntos, llamados subrboles. Si dicho nmero de estructuras es inferior o igual a 2, se tiene un rbol binario. Es, por tanto, una estructura no secuencial. Otra definicin nos da el rbol como un tipo de grafo: un rbol es un grafo acclico, conexo y no dirigido. Es decir, es un grafo no dirigido en el que existe exactamente un camino entre todo par de nodos. Esta definicin permite implementar un rbol y sus operaciones empleando las representaciones que se utilizan para los grafos
ARBOLES
Nomenclatura sobre rboles
Raz: es aquel elemento que no tiene antecesor; ejemplo: a. Rama: arista entre dos nodos. Antecesor: un nodo X es el antecesor de un nodo Y si por alguna de las ramas de X se puede llegar a Y. Sucesor: un nodo X es sucesor de un nodo Y si por alguna de las ramas de Y se puede llegar a X. Grado de un nodo: el nmero de descendientes directos que tiene. Hoja: nodo que no tiene descendientes: grado 0. Nodo interno: aquel que tiene al menos un descendiente. Nivel: nmero de ramas que hay que recorrer para llegar de la raz a un nodo. Altura: el nivel ms alto del rbol. Anchura: es el mayor valor del nmero de nodos que hay en un nivel.
A B
C D
E
(A (B (D)(E)) (C))
Indentacin: representacin sangrada.
A B D E
ARBOLES
REPRESENTACIN INTERNA (IMPLEMENTACIN)
Implementacin Esttica: se utiliza un arreglo bidimensional, que contiene tantas columnas como campos tenga el nodo, y tantas filas como se haya declarado para el arreglo. Ejemplo: Sea el rbol Estticamente Info P1 P2 P3
1 A B 2 4 3 5
A B D i E F C G H Raiz= 1 Dispo= 10
3
4 5 6 7 8 9 10 11
C
D E F G H I -
6
9 11
7
-
8
-
ARBOLES
REPRESENTACIN INTERNA (IMPLEMENTACIN)
Implementacin Dinmica: se emplean estructuras encadenadas. El nodo de un rbol puede tener muchos nodos hijos, sin embargo cada nodo hijo puede tener un solo padre. Puede optarse por una estructura de nodo que contenga tantos campos punteros como hijos llegue a tener un rbol mas el campo informacin
ARBOLES
REPRESENTACIN INTERNA (IMPLEMENTACIN)
A B E i
A
C F G H
ARBOLES BINARIOS
Un rbol binario es un conjunto finito de nodos, el cual puede ser vaco o se compone de una raz y de dos rboles binarios disjuntos llamadas subrbol izquierdo y subrbol derecho.
La profundidad o altura
de un rbol binario est dado por el mximo nivel alcanzado por un nodo. En un rbol n-ario es el mximo nivel alcanzado por un nodo + 1.
PIZQ
INFO
PDER
rbol binario Vaco: aquel que no posee nodos rbol binario incompleto:
Oblicuo: todos los nodos se encuentran como parte del subrbol izquierdo o derecho. Propiamente dicho: los nodos hojas se encuentran en distintos niveles. Extendidos o ampliados: cada nodo tiene cero o dos hijos
Propiamente dicho
A C G
D
H
I
A B D E
Extendido o Ampliado
A B) A C
B A B
B
D C D
B B)
F A C P
B D
B
B) A C B D C B D A
2.
B
E F
C
G
D
H I J
A B D H E F C G
Preorden: A, B, D, E, H, C, F, G
A B D H E F C G
Entreorden: D, B, H, E, A, F, C, G
A B D H E F C G
Posorden: D, H, E, B, F, G, C, A
Preorden: J, F, D, I, H, P, M, Z
F D I M P Z Entreorden: D, F, H, I, J, M, P, Z Posorden: D, H, I, F, M, Z, P, J
Si el rbol est vaco, la bsqueda termina sin xito Si k = Ki, la bsqueda termina satisfactoriamente; el nodo encontrado es Ri, Si k < Ki, se debe buscar en el subrbol izquierdo de Ri, es decir, Ri := izquierdo (Ri), Si k > Ki, se debe buscar en el subrbol derecho de Ri, es decir, Ri := derecho (Ri).
EJEMPLO
Supngase que quieren insertarse las siguientes claves en un rbol binario de bsqueda que se encuentre vaco:
claves: 120 - 87 43 65 140 99 130 22 - 56
Los resultados parciales que ilustran cmo funciona el procedimiento se presentan en las figuras que siguen:
clave 87
clave 43
clave 65
Clave 140
Clave 99
Clave 130
Insercin: Clave 22
Clave 56
EJEMPLO:
Supngase que se desean eliminar las siguientes claves del rbol binario de bsqueda de la figura anterior: claves: 22 - 99 - 87 - 120 - 140 - 135 56 Los resultados parciales que ilustran cmo funciona procedimiento se presentan en las figuras que siguen: el
a)
b)
c)
d)
e)
f)
g)
Solo se puede enhilar en funcin de algn mtodo de recorrido Existen dos maneras de implementarlos:
El enhilado derecho: enlaza a un nodo con su nodo sucesor segn el orden de recorrido El enhilado izquierdo: enlaza a un nodo con su nodo predecesor segn el orden de recorrido.
Agregando dos campos punteros segn el enhilado sea derecho o izquierdo Aprovechando los apuntadores nulos y agregando un campo bandera que indique si el apuntador referencia a un subrbol a un sucesor o antecesor
ARBOLES ENHILADOS
ARBOLES ENHILADOS
ARBOLES ENHILADOS
ARBOLES ENHILADOS
ARBOLES B
En informtica los rboles-B B-rboles son estructuras de datos de rbol que se encuentran comnmente en las implementaciones de bases de datos y sistemas de archivos. Los rboles B mantienen los datos ordenados y las inserciones y eliminaciones se realizan en tiempo logartmico amortizado.
ARBOLES B
B-rbol es un rbol de bsqueda que puede estar vaco o aquel cuyos nodos pueden tener varios hijos, existiendo una relacin de orden entre ellos. Un rbol-B de orden M (el mximo nmero de hijos que puede tener cada nodo) es un rbol que satisface las siguientes propiedades:
Cada nodo tiene como mximo M hijos. Cada nodo (excepto raz y hojas) tiene como mnimo M/2 hijos. La raz tiene al menos 2 hijos si no es un nodo hoja. Todos los nodos hoja aparecen al mismo nivel. Un nodo no hoja con k hijos contiene k-1 elementos almacenados. Los hijos que cuelgan de la raz (r1, , rm) tienen que cumplir ciertas condiciones:
El primero tiene valor menor que r1. El segundo tiene valor mayor que r1 y menor que r2, etc. El ltimo hijo tiene valor mayor que rm.