Menggunakan penelusuran pre-order dengan notasi Polandia
Pohon ekspresi adalah jenis pohon biner yang merepresentasikan ekspresi aritmetika:

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
Petunjuk latihan
- Periksa apakah
current_nodeada. - 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)