Parcurgerea pre-order și notația poloneză
Arborii de expresii sunt un tip de arbore binar care reprezintă expresii aritmetice:

Aplicând parcurgerea în-ordine unui arbore de expresii, obții notația infixată. Pentru arborele dat, această notație este (10-5)*3.
Aplicând parcurgerea pre-order unui arbore de expresii, obții notația prefixată, cunoscută și ca notație poloneză, unde operatorul apare înaintea operanzilor. Pentru arborele dat, această notație este *-10 5 3.
Aplicând parcurgerea post-order unui arbore de expresii, obții notația postfixată, cunoscută și ca notație poloneză inversă, unde operatorul apare după operanzi. Pentru arborele dat, această notație este 10 5- 3*.
Implementează parcurgerea pre-order pentru a obține notația prefixată a acestui arbore de expresii.
Acest exercițiu face parte din cursul
Structuri de date și algoritmi în Python
Instrucțiuni pentru exercițiu
- Verifică dacă
current_nodeexistă. - Afișează valoarea lui
current_node. - Apelează recursiv funcția
pre_order()pe cele două jumătăți corespunzătoare ale arborelui.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
import queue
class ExpressionTree:
def __init__(self):
self.root = None
def pre_order(self, current_node):
# Check if current_node exists
____:
# Print the value of the current_node
____
# Call pre_order recursively on the appropriate half of the tree
____
____
et = CreateExpressionTree()
et.pre_order(et.root)