Θέλω να γράψω έναν αποτιμητή εκφράσεων (calculator / evaluator / interpreter). Ποια διάσχιση θα χρησιμοποιήσω;
Το δέντρο της διαφάνειας έχει ρίζα +· το αριστερό παιδί του είναι * (με παιδιά 2
και 9) και το δεξί είναι 1.
flowchart TD
P(("+")) --> M(("*"))
P --> O(("1"))
M --> T(("2"))
M --> N(("9"))
Για να υπολογίσετε τον τελεστή ενός κόμβου χρειάζεστε ήδη τις τιμές των δύο υποδέντρων του. Ποια από τις τρεις διασχίσεις (pre-order, in-order, post-order) επεξεργάζεται τον κόμβο αφού έχει τελειώσει με τα παιδιά του;
Αριθμός στον οδηγό: Α22.7
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: slides-lec22-expression-evaluator ·
Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec22-expression-evaluator.html ·
Markdown (GitHub)