Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Modified Preorder Tree Traversal
pracus
post 8.10.2010, 12:20:51
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 14.09.2010

Ostrzeżenie: (0%)
-----


Znacie jakiś sposób na zapytanie zamieniające kolejność dwóch gałęzi drzewa (przesuń wyżej/niżej) w metodzie Modified Preorder Tree Traversal bez użycia tabel tymczasowych?

OK, pytanie chyba nieaktualne.
Nie mogłem nigdzie znaleźć dobrej metody, ale chyba udało mi się to rozwiązać.
Dla porządku - robię to w następujących krokach:

1. Wczytuję dane o pozycjach left i right dla rodzica gałęzi wyższej i niższej.
2. Uaktualniam wartości right dla całej gałęzi niższej odejmując różnicę między aktualnym right rodzica a right rodzica gałęzi wyższej.
3. Uaktualniam wartości left i right dla gałęzi wyższej dodając do obu różnicę między left rodzica gałęzi wyższej a aktualnym left rodzica tej gałęzi.
4. Uaktualniam wartości left dla gałęzi niższej odejmując różnicę między aktualnym left rodzica a poprzednim left rodzica gałęzi wyższej. Tutaj stosuję warunek zmiany wartości tylko dla pól, dla których right < left, czyli dla częściowo przesuniętej w punkcie 1. gałęzi niższej.

Voila. Mam nadzieję, że to działa. Pewnie też Ameryki nie odkryłem smile.gif

Jednak popełniłem błąd. W wolnej chwili napiszę ostateczne rozwiązanie, chyba że ktoś ubiegnie moje mądrości i wklei link z jakims opracowaniem tematu.
Go to the top of the page
+Quote Post

Posty w temacie
- pracus   Modified Preorder Tree Traversal   8.10.2010, 12:20:51


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:34