Witam
Czy jest jakiś łatwy sposób (algorytm?) na rysowanie drzewa na podstawie wyrażenia napisanego w postaci postfixowej? W przypadku infixowej nie mam żadnego problemu, ale nie wiem jak zabrać się za jakieś trudniejsze wyrażenia.
Rysowanie drzewka z notacji postfixowej
-
- Użytkownik
- Posty: 6
- Rejestracja: 2 lut 2010, o 00:21
- Płeć: Mężczyzna
- Lokalizacja: pl
-
- Użytkownik
- Posty: 4094
- Rejestracja: 10 lut 2008, o 15:31
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 12 razy
- Pomógł: 805 razy
Rysowanie drzewka z notacji postfixowej
Algorytm jest bardzo prosty:
-jeśli napotykasz liczbę, odkładasz na stos.
-jeśli napotykasz operator, czynisz go korzeniem drzewa, zdejmujesz jeden element ze stosu i czynisz go prawym synem, zdejmujesz drugi element ze stosu i czynisz go lewym synem (jeśli się nie da, to znaczy, że wyrażenie ma błąd składniowy); tak zbudowane drzewo odkładasz na stos
-jak skończy ci się wyrażenie, to oczywiście kończysz działanie algorytmu
-jeśli napotykasz liczbę, odkładasz na stos.
-jeśli napotykasz operator, czynisz go korzeniem drzewa, zdejmujesz jeden element ze stosu i czynisz go prawym synem, zdejmujesz drugi element ze stosu i czynisz go lewym synem (jeśli się nie da, to znaczy, że wyrażenie ma błąd składniowy); tak zbudowane drzewo odkładasz na stos
-jak skończy ci się wyrażenie, to oczywiście kończysz działanie algorytmu
-
- Użytkownik
- Posty: 6
- Rejestracja: 2 lut 2010, o 00:21
- Płeć: Mężczyzna
- Lokalizacja: pl
Rysowanie drzewka z notacji postfixowej
Rewelacja:) Wielkie dzięki, generalnie w między czasie nauczyłem się konwertować z postfix i prefix do infixa i stąd już droga była łatwiejsza, ale jeszcze raz dzięki.