Pertemuan 4 : Introduction to Tree, Binary Tree, and Expression Tree - 2101632225 - Hendy

Introduction to Tree

Tree merupakan koleksi dari satu node atau lebih node. Seperti namanya, tree yaitu berbentuk seperti pohon yang terbalik. Pohon memiliki akar lalu juga ranting yang saling terhubung-hubung. Dalam struktur data, bentuk tree seperti berikut.


DEGREE of 6 = 2 (Karena 6 mempunyai 2 anak)
HEIGHT = 4 (Karena sampai LEVEL 4 kedalamannya)
PARENT of 9 = 5
CHILDREN of 6 = 5,1 1
SIBLING of 5 = 11
ANCESTOR of 6 = 7, 2
DESCENDANT of 6 = 5, 11
LEAF = Sebuah node yang tidak mempunyai children (anak)
ROOT = Merupakan akar yaitu leluhur paling tinggi


Binary Tree

Binary Tree yaitu data struktur yang dimana maksimal hanya boleh mempunyai hingga 2 anak (cabang) dan juga terdapat left child dan right child.

ROOT = 2
LEAF = 2, 5, 11, 4 (tidak mempunyai anak)

Type of Binary Tree

  1. Perfect Binary Tree = Tree yang dimana disetiap LEVELnya mempunyai kedalaman yang sama (jumlah anak yang sama dan tidak berbeda dari yang lainnya).
  2. Complete Binary Tree = Tree yang dimana disetiap LEVELnya lengkap kecuali LEVEL terakhir dimana boleh mempunyai anak yang berbeda.
  3. Skewed Binary Tree = Tree yang dimana hanya mempunyai maksimal 1 anak.
  4. Balanced Binary Tree = Sama seperti Perfect Binary Tree dan harus seimbang yaitu mempunyai jumlah anak yang sama.

Perfect Binary Tree


Complete Binary Tree


Skewed Binary Tree


Property of  Binary Tree

Jumlah maksimum node pada suatu LEVEL pada suatu Binary Tree ditentukan dengan rumus :

2k
(2 pangkat k yang dimana k adalah LEVEL pada tree yang dimulai dari akar yaitu 0). 


Pada LEVEL 0 mempunyai node maksimal sebanyak = 1
Pada LEVEL 1 mempunyai node maksimal sebanyak = 2
Pada LEVEL 2 mempunyai node maksimal sebanyak = 4
Pada LEVEL 3 mempunyai node maksimal sebanyak = 8


Jumlah banyaknya node pada Binary Tree dari height dapat ditentukan dengan rumus :

2h+1 - 1
(2 pangkat h ditambah 1 lalu hasilnya dikurang 1)



2 pangkat 4 (karena Height yaitu 4) dikurang 1 = 16 - 1 = 15 (Banyaknya node pada tree)


Representation of Binary Tree

Binary Tree dapat kita implementasikan dalam bentuk Array dan disusun berdasarkan index.

ROOT merupakan index ke-0 = 3
Left Child = 2p+1 (dimana p merupakan index dari parent)
Right Child = 2p+2
5 pada index ke-1 dan 9 pada index ke-2 karena dalam Binary Tree yaitu bagian kiri dahulu lalu yang kanan dan diselesaikan per-tingkat.

6 pada index ke-3 karena 2*1+1 = 3
8 pada index ke-4 karena 2*1+2 = 4 (karena kanan yaitu rumusnya ditambah 2)
20 pada index ke-5 karena 2*2+1 = 5
10 pada index ke-6 karena 2*2+2 = 6
9 pada index ke-9 karena 2*4(karena parentnya yaitu 8 dan 8 pada index ke-4) +1 = 9


Expression Tree Concept


Prefix = +/*23-21*5-41
Postfix = 23*21-/541-*+
Infix = 2*3/(2-1)+5*(4-1)

Untuk Infix tidak boleh ambigu seperti 2 + 3 * 8 maka untuk mengatasi ambigunya kita dapat menggunakan tanda kurung untuk memisahkannya sehingga tidak jadi ambigu yaitu (2+3)*8.



Terima kasih sudah membaca post ini yang merupakan rangkuman pembelajaran saya pada pertemuan keempat belajar mengenai Data Structure. Semoga informasi ini bermanfaat bagi kalian semua. Terima Kasih.

Komentar

Postingan populer dari blog ini

Pertemuan 1 : Array, Pointer, and Introduction to Data Structure - 2101632225 - Hendy

Pertemuan 5 : Tree & Binary Tree - 2101632225 - Hendy

Pertemuan 2 : Introduction and Implementation Linked List I - 2101632225 - Hendy

Pertemuan 3 : Linked List Implementation II - 2101632225 - Hendy