Piszę kod, który używa drzewa (zwykłe drzewo, które może mieć nieograniczoną liczbę węzłów, ale nie ma zwrotnicy, tj. Dwa węzły nadrzędne nie będą wskazywać tego samego węzła podrzędnego). W każdym razie dwie rzeczy:Łatwy sposób na znalezienie Subtree w drzewie
1) Czy są jakieś dobrze znane algorytmy do znalezienia sub-drzewa w drzewie.
2) Czy istnieją jakieś biblioteki Java (lub jakiekolwiek inne biblioteki), które już implementują ten algorytm? Nawet jeśli ich nie ma, czy ktoś może polecić jakąkolwiek dobrą ogólną bibliotekę Java?
Chcę używać tych drzew do przechowywania danych w formacie drzewa, a nie do ich możliwości wyszukiwania.
Aby rozwinąć nieco: Używam drzewa jako części gry, aby zachować historię wydarzeń, które mają miejsce, gdy zdarzają się określone wydarzenia. Na przykład puszkę hit B, która może uderzyć dwie, które może trafić inny dwie użytkownika itp
To będzie wyglądać następująco:
A
|
B
/
A
/\
A A
/\
A A
Oczywiście istnieje więcej niż tylko A i B. Co Chcę zrobić to (dla systemu osiągnięć) jest w stanie powiedzieć, kiedy, powiedzmy a ma trafić dwie to:
A
/\
A A
Chcę, aby móc łatwo wiedzieć, jeśli pierwsze drzewo zawiera że poddrzewie. I nie chcę pisać całego kodu, aby to zrobić, jeśli nie muszę :)
Lepiej edytuj to przed policją "Vector"! ;-) –
Niech przyjdą! :) – gclj5