Pada modul ini kita akan membuat komponen dasar dari sebuah tree dengan menggunakan Python.
Yang dibutuhkan adalah dua class yaitu class Node dan Tree.
class Node adalah blueprint dari node pada tree. Karena kita akan membuat binary search tree, maka dibutuhkan property left dan right serta data dari node itu sendiri.
class Node:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
class Tree adalah wrapper class untuk membedakan antara Tree dan Node.
class Tree:
def __init__(self, root, name=''):
self.root = root
self.name = name
Setelah kedua class diatas dibuat, berikutnya kita dapat mulai membuat isi tree.
node = Node(10)
node.left = Node(5)
node.right = Node(15)
node.left.left = Node(3)
node.left.right = Node(6)
node.right.left = Node(12)
node.right.right = Node(30)
myTree = Tree(node, 'Basic BST')
print(myTree.name)
print(myTree.root.left.data)
print(myTree.root.right.right.data)
Berikut isi lengkap dari program basic tree.
class Node: def __init__(self, data): self.data = data self.left = None self.right = None class Tree: def __init__(self, root, name=''): self.root = root self.name = name node = Node(10) node.left = Node(5) node.right = Node(15) node.left.left = Node(3) node.left.right = Node(6) node.right.left = Node(12) node.right.right = Node(30) myTree = Tree(node, 'Basic BST') print(myTree.name) print(myTree.root.left.data) print(myTree.root.right.right.data)
$ python tree.py
Basic BST
5
30
Jika dijalankan program diatas, maka akan menampilkan log seperti diatas.
Berikut bentuk secara visual binary search tree diatas.
Pada modul selanjutnya, kita akan lanjutkan code basic tree diatas dengan menambahkan fungsi-fungsi yang berkaitan dengan navigasi.