Está en la página 1de 7

ARCHIVOS CON ARBOLES BINARIOS

I. ARBOLES BINARIOS

En ciencias de la computacin, 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").

Qu Tipos de rboles binarios hay?

Un rbol binario es un rbol con raz en el que cada nodo tiene como mximo dos
hijos.
Un rbol binario lleno es un rbol en el que cada nodo tiene cero o dos hijos.
Un rbol binario perfecto es un rbol binario lleno en el que todas las hojas (vrtices
con cero hijos) estn a la misma profundidad (distancia desde la raz, tambin
llamada altura).
A veces un rbol binario perfecto es denominado rbol binario completo. Otros
definen un rbol binario completo como un rbol binario lleno en el que todas las
hojas estn a profundidad n o n-1, para alguna n.

Un rbol binario es un rbol en el que ningn nodo puede tener ms de dos subrboles. En
un rbol binario cada nodo puede tener cero, uno o dos hijos (subrboles). Se conoce el
nodo de la izquierda como hijo izquierdo y el nodo de la derecha como hijo derecho.

II. ARCHIVOS CON ARBOLES BINARIOS

Es un rbol binario en el cual para todo elemento, los elementos mayores que l, se ubican
en su rama derecha, mientras que los elementos menores estn en su rama izquierda. Cada
elemento se almacena una sola vez, por lo que no existen elementos repetidos. A menos
que se indiquen lo contrario.

i. INFORMACION A CONSIDERAR EN EL ECABEZADO

Como es comn en los archivos con registros de longitud fija es necesario tener un registro
encabezado el cual proporcionara informacin al usuario y nos servir para recorrer el
archivo de manera ms eficiente.
Los campos a considerar en este registro dependen del programador, pero para este tipo
de rboles son necesarios y fijos 3 campos bsicos para poder realizar las operaciones
bsicas, es importante considerar que el programador puede aumentar el nmero de
campos de este registro.
En este caso nosotros consideramos y recomendamos usar 3 campos bsicos:
NRS: Sirve como identificador del archivo proporcionndonos la informacin del
nmero de registros, esta informacin nos es til ya que para realizar cualquier
operacin sobre el archivo necesitamos necesariamente el nmero de registros que
se encuentran en el archivo.

RZ: Sirve como identificador del archivo proporcionndonos la informacin de cul


es el registro raz del rbol binario.

UE: Sirve como identificador del archivo proporcionndonos la informacin del


ltimo registro eliminando.

Una vista grfica:

Encabezado NRS RZ UE . X Y

FIG i.1
Como se muestra en la fig. i.1 en el encabezado se puede considerar muchos campos pero
como hemos mencionando antes consideramos los 3 bsicos NRS,UE,RZ .

ii. CAMPOS A CONSIDERAR EN LOS REGISTROS DEL ARCHIVO

Los campos a considerar en los registros de una archivo son diversos y estn en funcin de
lo que el usuario o el programador desea guardar en ellos en este caso lo importante para
nosotros son los campos nos permitirn recorrer el archivo para realizar distintas
operaciones sobre ellos, en este caso los campos son:

NR: Sirve como identificador del archivo y nos proporciona la informacin del
registro en el que nos encontramos ayuda mucho para el movernos en el archivo.
PI: Sirve como identificador del archivo y nos proporciona la informacin del nodo
hijo de la izquierda del registro en el que nos encontramos.
PD: Sirve como identificador del archivo y nos proporciona la informacin del nodo
hijo de la derecha del registro en el que nos encontramos
AE: Sirve como identificador del archivo y nos proporciona la informacin del
anterior eliminado, en este caso el registro en el que este campo tenga un valor
significativo (diferente de 0) se entiende que este esta eliminado.

Una vista grfica:

Encabezado NRS RZ UE . X Y

Campos NR NOMBRE PUNTAJE .. PD PI UE

FIG i.2

iii. INSERCION Y CREACION DEL ARCHIVO

Para comenzar necesitamos obviamente crear el archivo y el rbol as que le pediremos al


usuario que llene los campos de su inters, y realizaremos esta accin mediante un
algoritmo en este caso usaremos los campos:

En el encabezado: NRS, RZ, UE.

En los registros: NR, NOMBRE, PUNTAJE, PI, PD, AE.

Explicaremos estas operaciones con un ejemplo. Suponga que quiero crear un archivo
llamado alumnos en el cual insertare la siguiente informacin:

Jorge 12 puntos, Matas 14 puntos, Beto 10 puntos, Lupe 15 puntos, Sofa 13 puntos, Nela
16 puntos
1) Ingresamos: Jorge.
- () es un puntero que apunta al primer elemento ingresado que en este caso es Jorge.
- El puntero izquierdo y derecho no apuntan al final del rbol que es -1.

2) Ingresamos: Matas.
- El NRS cambio a 2 que es el nmero de elementos, el puntero derecho del primer
elemento cambio a 2 que es a donde apunta del segundo elemento a NR.

3) Ingresamos: Beto.
- Ntese que RZ se mantiene en 1 porque la raz que es Jorge no cambia el puntero
izquierdo de Jorge cambio a 3 que es el NR de Beto.
4) Ingresamos: Lupe.
- Ahora el puntero izquierdo de Matas apunta a Lupe.

5) Ingresamos: Sofa.

6) Ingresamos: Nela.

CODIGO IMPLEMENTADO EN C++.


ANALISIS DE EFICIENCIA:
Puede probarse que una bsqueda o una insercin en un ABB requiere O(log2n). y en el peor caso
una bsqueda de n claves puede implicar revisar las n claves, o sea, es O(n).

DESVENTAJAS:

- La bsqueda binaria requiere demasiados desplazamientos.


- Puede ser muy costoso mantener el ndice ordenado para que sea posible efectuar
una bsqueda binaria.

BIBLIOGRAFIA:

- ESTRUCTURA DE ARCHIVOS: herramientas conceptuales. Michael Folk 2ed editorial


Addison wesley 1996 mejico.

WEBGRAFIA:

- ARBOL BINARIO DE BUSQUEDA.


http://es.wikipedia.org/wiki/%C3%81rbol_binario_de_b%C3%BAsqueda
- ARBOL BINARIO DE BUSQUEDA
http://decsai.ugr.es/~jfv/ed1/tedi/cdrom/docs/arb_BB.htm
- ARBOL BINARIO ESTRUCTURA DE DATOS
http://www.programacionfacil.com/estructura_de_datos:arbol_binario