Lehçe (Polish) gösterimiyle pre-order dolaşımı kullanma
İfade ağaçları (expression trees), aritmetik ifadeleri temsil eden bir tür ikili ağaçtır (binary tree):

Bir ifade ağacına in-order dolaşımı uygularsan, infix gösterimi elde edersin. Verilen ağaç için bu gösterim (10-5)*3 olacaktır.
Bir ifade ağacına pre-order dolaşımı uygularsan, işlecin (operator) işlenenlerden önce geldiği prefix gösterimi, yani Lehçe (Polish) gösterimi elde edilir. Verilen ağaç için bu gösterim *-10 5 3 olacaktır.
Bir ifade ağacına post-order dolaşımı uygularsan, işlecin işlenenlerden sonra geldiği postfix gösterimi, yani ters Lehçe (reverse Polish) gösterimi elde edilir. Verilen ağaç için bu gösterim 10 5- 3* olacaktır.
Bu ifade ağacının prefix gösterimini elde edebilmek için pre-order dolaşımını kodla.
Bu egzersiz
Python'da Veri Yapıları ve Algoritmalar
kursunun bir parçasıdırEgzersiz talimatları
current_nodevar mı kontrol et.current_nodedeğerini yazdır.- Ağacın uygun yarılarında
pre_order()fonksiyonunu özyinelemeli (recursive) olarak çağır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)