BaşlayınÜcretsiz Başlayın

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):

Aritmetik ifadeler içeren bir ikili ağacın görsel gösterimi.

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ır
Kursu Görüntüle

Egzersiz talimatları

  • current_node var mı kontrol et.
  • current_node değ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)
Kodu Düzenle ve Çalıştır