Escribo un código que usa un árbol (un árbol regular que puede tener un número ilimitado de nodos, pero no cruzado, es decir, dos nodos principales no apuntarán al mismo nodo hijo) De todos modos, dos cosas:Forma fácil de encontrar Subárbol en un árbol
1) ¿Hay algún algoritmo conocido para encontrar un subárbol dentro de un árbol?
2) ¿Hay alguna biblioteca de Java (o cualquier biblioteca para el caso) que ya implemente este algoritmo? Incluso si no hay ninguno, ¿alguien puede recomendar una buena biblioteca de árbol de Java de propósito general?
Quiero utilizar estos árboles para almacenar datos en un formato de árbol, no para sus capacidades de búsqueda.
Para expandir un poco: estoy usando el árbol como parte del juego para mantener un historial de lo que sucede cuando ocurren ciertos eventos. Por ejemplo, una A puede golpear una B, que puede golpear dos A de que puede golpear a otro dos de un etc.
Eso sería algo como:
A
|
B
/
A
/\
A A
/\
A A
Por supuesto que hay algo más que A y B. ¿Qué lo que quiero hacer es (para un sistema de logros) es capaz de decir cuando, por ejemplo una a ha afectado a dos a de:
A
/\
A A
Quiero ser capaz de saber fácilmente si el primer árbol contiene ese subárbol. Y no quiero tener que escribir todo el código para hacerlo si no tengo que hacerlo :)
¡Edite mejor eso antes de que la policía 'Vector' lo atrape! ;-) –
Déjalos venir! :) – gclj5