TreeMulator =========== Esta es una aplicación creada con fines didácticos cuyo principal motivo es mostrar el funcionamiento del árbol B de 4 formas diferentes: - Identificación con clave fija. - Identificación con clave variable. - Clasificación con clave fija. - Clasificación con clave variable. Para una mas fácil comprobación y ejecución de la aplicación, se han desarrollado programas de prueba (ver INSTALL) que permiten realizar altas y bajas a "pedido" o aleatorias. Para claves fijas se utiliza 'btree': ./btree El tamaño de bloque usado es 512*2^. donde el tamaño del bloque, la cantidad de altas y la cantidad de bajas están parametrizados. Lo mismo sucede para las claves de longitud variable, pero esta vez utilizando 'btree_var': ./btree_var El tamaño de bloque usado es 512*2^. al igual que el anterior, podemos definir cuantas altas y bajas deseamos realizar y cual será el tamaño del bloque. Las claves de longitud fija se generan pseudo-aleatoriamente utilizando funciones provistas por el lenguaje y las claves de longitud variable se generan combinando palabras de dos archivos que contienen grandes listas de productos y marcas en este caso. Visualizador: ============= Para poder inspeccionar todavia mejor el árbol, hemos desarrollado un inspector visual basado en ventanas, con el cual se puede ir viendo el contenido de un nodo haciendo click sobre el mismo. Podremos encontrar esta aplicación dentro del directorio viewer/ y ejecutando ./viewer Luego en el menú 'archivo' tendremos la posibilidad de crear un nuevo árbol indicando los parámetros vistos anteriormente. También se pueden agregar claves desde el menú 'Clave' donde se desplegará una ventana que pedirá el ingreso de una clave y un valor asociado a ella para insertar en el árbol. De la misma manera podrán eliminarse valores siempre y cuando estos existan en el árbol. Un último menú permite realizar zoom para acercar y alejar la vista del árbol al inspeccionarlo. Esta aplicación será mejorada en la próxima versión de TreeMulator. Autores: ======== - Ricardo Markiewicz - Leandro Lucarella - Nicolás Dimov