Árbol 2-3 gráfico en CPP

El árbol 2-3 se carácteriza por lo siguiente: tiene los nodos ordenados por un campo llave, un entero, usualmente son usados para implementar listas ordenadas; todos sus nodos internos tiene dos o tres hijos (de ahí el nombre); todas las hojas del arbol tienen el mismo nivel, es decir la misma distancia desde la raíz; todos los datos se almacenan en las hojas; los elementos son ordenados de izquierda (mínimo) a derecha (máximo); los nodos entre la raíz y las hojas contienen etiquetas de la forma: N:N que indican el valor más grande en los sub-árboles izquierdo y del centro (o la derecha) respectivamente.

Captura de pantalla de inicio de la aplicación, modo consola:



Utilizando programación orientada a objetos en CPP, me implemente un árbol 2-3, por cuestiones de exigencias de esa implementación surgio una version gráfica en modo consola, la que se trata en esta entrada. Como había comentado en la entrada del Árbol Roji-Negro en C en este tipo de programas, por estar en CPP, el uso de punteros es destacable, adicionalmente en este caso el uso de la libreria gráfica añadio otro punto de interes al asunto.

Esta implementación esta hecha bajo windows, usa una libreria para manejar el modo gráfico en consola y otra para el manejo del mouse, el programa corre solo en windows, o sea no corre en sistemas base UNIX. El programa implementa las funciones de insertar y buscar un nodo.

Aprovechando el modo gráfico diseñe una especie de GUI muy basica simulando botones para las funciones, aprovechando el uso de la libreria para el manejo del mouse programé las funciones para simular el click sobre los 'botones' y asi lograr un funcionamiento parecido un tipo modo windows, aunque más rustico y basico.

Captura de pantalla de la aplicación en ejecución:


Por último, el programa incluye una pequeña sección de ayuda al usuario. Puedes descargar código y todo desde: Árbol 2-3 en CPP


Comentarios

Entradas populares