MulaiMulai sekarang secara gratis

Menggunakan penelusuran pre-order dengan notasi Polandia

Pohon ekspresi adalah jenis pohon biner yang merepresentasikan ekspresi aritmetika:

Graphical representation of a binary tree that has arithmetic expressions.

Dengan menerapkan penelusuran in-order pada pohon ekspresi, Anda dapat memperoleh notasi infiks. Notasi untuk pohon ini adalah (10-5)*3.

Dengan menerapkan penelusuran pre-order pada pohon ekspresi, Anda dapat memperoleh notasi prefiks, atau notasi Polandia, di mana operator muncul sebelum operannya. Notasi untuk pohon ini adalah *-10 5 3.

Dengan menerapkan penelusuran post-order pada pohon ekspresi, Anda dapat memperoleh notasi postfiks, atau reverse Polish notation, di mana operator muncul setelah operannya. Notasi untuk pohon ini adalah 10 5- 3*.

Tuliskan kode penelusuran pre-order sehingga Anda dapat memperoleh notasi prefiks dari pohon ekspresi ini.

Latihan ini adalah bagian dari kursus

Struktur Data dan Algoritma di Python

Lihat Kursus

Petunjuk latihan

  • Periksa apakah current_node ada.
  • Cetak nilai dari current_node.
  • Panggil fungsi pre_order() secara rekursif pada sisi pohon yang sesuai.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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)
Edit dan Jalankan Kode