• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Operacje arytmetyczne z użyciem drzewa

VPS Starter Arubacloud
0 głosów
472 wizyt
pytanie zadane 28 kwietnia 2017 w C i C++ przez Arek Użytkownik (510 p.)

Witam,

Mam problem z obliczaniem wyrażeń arytmetycznych z wykorzystaniem drzewa. Nie wiem czy do końca dobrze rozumiem jak to trzeba zrobić więc mam nadzieję że mi podpowiecie jeśli w którymś kroku mam błąd.

A więc myślę to zrobić to tak:

1.Za pomocą stosu zamienić podane przez użytkownika wyrażenie infiksowe na wyrażenie prefiksowe i zapisuje to wyrażenie do tablicy.

2.Następnie tworzę drzewo i czytam wyrażenie umieszczone w tablicy. Robię dokładnie to co jest opisane na stronie:

http://eduinf.waw.pl/inf/alg/001_search/0118.php 

3.Mam już wypełenione drzewo więc teraz pora na obliczenie wyrażenia,przechodzę przez drzewo i:

jeśli trafie na operator wykonuje działanie lewy syn (operator) prawy syn z tym że jeśli któryś z synów jest operatorem to rekurencyjnie wykonuje to samo czyli wchodzę wgłąb drzewa i wykonuje operacje na lewym i prawym synu zwracając wynik operacji.

Czy jest to dobry sposób na rozwiązanie tego zadania?Piszę w języku C.

Dziękuje za wszelkie komentarze.

2 odpowiedzi

0 głosów
odpowiedź 28 kwietnia 2017 przez Wiciorny Ekspert (269,120 p.)
A nie masz przykładowego zestawu danych i przykładowego rozwiązania ? * Chodzi mi o example: mianowicie Dane wejściowe STD::IN i wyjściowe STD::OUT
komentarz 28 kwietnia 2017 przez Arek Użytkownik (510 p.)
Nie mam nic takiego.

Mam samo polecenie,
komentarz 28 kwietnia 2017 przez Wiciorny Ekspert (269,120 p.)
jeśli nic takiego nie masz, to znaczy że implementacja jest dowolna i po prostu za pomocą drzewa liczy się twoje rozwiązanie: Wprowadz wymyślone  dane wejściowe i sprawdź czy generowanym wynikiem jest to co chcesz uzyskać, cieżko mi powiedzieć czy dobrze rozumujesz gdy "NIE WRÓŻĘ Z FUSÓW" a tym bardziej bez np kodu. Jedynie można sprawdzić czy implementacja drzewa jest okej, ale bez jakich kolwiek danych to czy rozwiązywane przez ciebie zagadnienie sprawdza się dla n przypadków, tego nie wie nikt.
0 głosów
odpowiedź 29 kwietnia 2017 przez j23 Mędrzec (194,920 p.)

Czy jest to dobry sposób na rozwiązanie tego zadania?

Tak, to jest dobry sposób... o ile nie jedyny w przypadku drzewa ;) Kiedyś na innym forum dawałem kod (w C++) takiego drzewa (z obsługą zmiennych) i mniej więcej tak to wyglądało, jak piszesz.

Podobne pytania

0 głosów
1 odpowiedź 117 wizyt
0 głosów
1 odpowiedź 84 wizyt
pytanie zadane 28 listopada 2023 w C i C++ przez natalia2002. Początkujący (370 p.)
0 głosów
1 odpowiedź 721 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...