Ya estamos acabando el tema de árboles y espero que hayáis sido capaces de valorar la importancia de este tipo de estructuras jerárquicas como herramienta indispensable a la hora de resolver mediante el ordenador numerosos problemas reales. A lo largo del tema hemos visto distintos tipos de aplicaciones de los árboles:
- Para realizar búsquedas eficientes
- Para clasificar datos a partir de sus características
- Para procesar imágenes
- Para definir estrategias de resolución de problemas
- Para evaluar, derivar, etc. expresiones...
- Para representar los sistemas de archivos y directorios de algunos sistemas operativos
- Para representar un árbol genealógico
De hecho, aún no hemos acabado del todo con ellos pues cuando lleguemos los temas relacionados con la representación de la información (tablas y ficheros), veremos que vuelven a aparecer como herramienta para las bases de datos (Árboles B y B+).
Así que desde aquí os animo a que os perdáis por la red y/o por la biblioteca y busquéis para qué otras aplicaciones son adecuadas los árboles en cualquiera de las versiones que hemos estudiado en el tema. Y por supuesto, que nos lo contéis y así colaboréis en el enriquecimiento del blog aportando toda la información que consideréis de interés a través de vuestros comentarios.
De todas formas, teniendo en cuenta la importancia de la estructura, seguramente os preguntaréis como es que un lenguaje como Java no ha previsto una implementación para ella y tenemos que perder tiempo nosotros en hacerla. Qué raro ¿no?
Pues sí, porque efectivamente, Java proporciona la clase TreeSet para representar conjuntos de elementos ordenados con el objetivo de que las búsquedas se realicen en tiempo logarítmico, es decir, equivaldrían a los árboles balanceados que hemos visto.
Además, Java proporciona la clase JTree para la visualización de árboles en aplicaciones que incluyan Interfaces Gráficas de Usuario basadas en componentes Swing. Pero es muy curioso porque esta clase no constituye una forma de representación de la información en memoria sino simplemente una forma de visualizarla.
Interesante ¿verdad?
Suscribirse a:
Enviar comentarios (Atom)
Vaya, pues una cosa más que se aprende. No sabía que en java existiera una clase para representar árboles, e incluso una para visualizar el árbol. Yo creo que hay otra cosa que se ve incluso más que árboles, y es la recursividad. Nos perseguirá el resto de nuestra vida xD. Seguramente habrá también un montón de cosas más que nos persigan el resto de la carrera, pero a estas alturas, poco más que árboles y recursividad es lo que hemos visto.
ResponderEliminarEl futuro está lleno de cosas por aprender =)
Muy buena puntualización, en está "profesión" nunca se termina de estudiar...
ResponderEliminarLa verdad es que el tema de árboles, es muy extenso de ahí su importancia y su utilización, de hecho en la asignatura de Ampliación de la programación también se utilizan estas estructuras, y como no... la recursividad.
La recursividad, aunque es un poco compleja de asimilar, a mi juicio es muy potente y beneficiosa ya que otra persona cuando lea nuestro código podrá entenderla rápidamente, es decir, con 4 u 8 líneas de código ya tenemos la recursividad.
Saludos