Membuat Basic Binary Search Tree

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.

Sharing is caring:

Leave a Comment