You are on page 1of 8

UNIVERSIDAD NACIONAL DE TRUJILLO Facultad de Ciencias Fsicas y Matemticas Escuela de Informtica.

TEMA: ARCHIVOS CON ARBOLES BINARIOS

Curso:

Organizacin de archivos

Profesor: Jorge Gutirrez Gutirrez Alumnos: Salinas Grados Linner Rodrguez urquiaga Roberto Vallejos Bardales Gian Piere Garca Francia Joan

2011

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 F I G NRS RZ UE . X Y

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 Campos NR RZ UE . X PI Y UE

NOMBRE PUNTAJE .. PD

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

You might also like