2012-11-22 3 views
6

Wiem, że można zrekonstruować drzewo binarne, gdy podano jego kolejność i wstępnie ustawiono jako ciągi, ale czy jest możliwe znalezienie ruchu pocztowego i/lub wyprzedzenia prekodera, gdy tylko biorąc pod uwagę nieokreśloną drogę przejścia?Znaleźć pozostałe dwa przejścia drzewa binarnego, gdy podano tylko jedno przesunięcie

+4

Jeśli dostaniesz tylko przejście "inorder", możesz skonstruować wiele różnych drzew binarnych. Oznacza to, że nie można opisać drzewa "unikatowego", używając tylko "inorder". – Aziz

Odpowiedz

3

Nie, pobieranie zamówienia pocztowego/zamówienia przedpremierowego tylko z przejścia na zamówienie nie jest możliwe. Gdyby tak było, możliwe byłoby odtworzenie drzewa binarnego za pomocą tylko nieokreślonego ruchu, co nie jest możliwe, ponieważ jedno przemieszczenie w ciągu może dać kilka możliwych rekonstruowanych drzew binarnych.

1

Jak wygląda twój wkład i jaki jest cel drzewa?

Jeśli masz w pełni ujęte w nawiasy wyrażenie, to masz drzewo unikalne, a otrzymasz pre- i post-order przez skonstruowanie drzewa, a następnie skonstruowanie warunków przed- i po-porządkowych z drzewa.

Jeśli twoje wyrażenie nie jest w pełni nawiasowane, oznacza to, że nie ma różnicy między różnymi drzewami, które pasują do twojego w kolejności. E.g Jeśli jest to drzewo reprezentujące wyrażenia arytmetyczne, to x+y+z jest takie samo jak (x+y)+z i x+(y+z). Oznacza to jednak, że nie ma znaczenia, który pre-lub postorder, którego używasz, również ++xyz i +x+yz są takie same.

Teraz, jeśli to nie ma znaczenia, nie musisz przejmować się kilkoma możliwymi przedstawieniami swojego niegotowanego przedmiotu. Wystarczy wybrać jedną z reprezentacji, a następnie obliczyć pre- i post-order wywołany przez to drzewo.

Powiązane problemy