Langsung ke konten utama

Pertemuan 4 - Tree, Binary Tree & Expression Tree


Tree, Binary Tree & Expression Tree

Tree (Pohon)

Real World
Computer Scientist’s View

Definisi: 
- Kumpulan node yang saling terhubung secara hirarki.
- Hiarki = Bertingkat.
- Tiap node dapat berisi data dan link (penghubung) ke node lainnya.
- Tiap node memiliki satu induk, kecuali node root (akar) yang tidak memiliki induk.
- Tiap node dapat memiliki anak dalam jumlah berapapun.


CONTOH TREE

Linked list dan Tree:
- Linked list -> linear/serial data
   Contoh : nama-nama mahasiswa dalam satu kelas.
- Tree -> non linear/hierachically data
    Contoh : tingkatan pegawai dalam perusahaan.

Tree (Pohon)
- Root adalah node yang memiliki hirarki tertinggi.
- Subtree (pohon anak) adalah beberapa node yang tersusun hirarki yang ada dibawah root.

Tree (Pohon)
- Level adalah posisi hirarki dari sebuah node. Untuk root bisa diberikan level 0 atau 1.
- Leaf (Daun) adalah node yang tidak memiliki anak atau node yang berada pada hirarki paling bawah.
- Height (tinggi)/depth adalah jumlah level dari sebuah tree.






Istilah Tree (Pohon)













Ancestor (F) = C,A
Descendant (B) = D,E
Parent (I) = H
Child (A) = B,C
Sibling (F) = G,H
Size = 9
Height = ¾
Root = A
Leaf = D,E,F,G,I
Degree (C) = 3

Binary Tree
- Tiap node pada binary tree hanya boleh memiliki paling banyak dua child.
- Sehingga hanya ada dua subtree pada binary tree yang disebut sebagai left dan right subtrees.


Tree dan Binary Tree
- Pada binary tree nilai degree tidak lebih dari 2, sedangkan pada tree tidak terbatas.
- Sub tree pada binary harus terurut (ord
ered), sedangkan pada tree tidak (un-ordered).

Jenis Binary Tree
- Berdasarkan subtree binary tree dibedakan menjadi 4 jenis:
     1. Full Binary Tree
     2. Complete Binary Tree
     3. Incomplete Binary Tree (Unbalanced Tree)
     4. Skewed Binary Tree

Jenis Tree (Full Binary Tree)
- Semua node (kecuali leaf) memiliki nol atau 2 anak dan tiap subtree memiliki panjang path yang disebut juga maximum binary tree.


Penelusuran seluruh node pada binary tree.
Metode :
 - Preorder
 - Inorder
 - Postorder
 - Level order

PreOrder Traversal
1. Cetak data pada root
2. Secara rekursif mencetak seluruh data pada subpohon kiri
3. Secara rekursif mencetak seluruh data pada subpohon kanan

 
Inorder traversal
1. Secara rekursif mencetak seluruh data pada subpohon kiri
2. Cetak data pada root
3. Secara rekursif mencetak seluruh data pada subpohon kanan

Postorder traversal
1. Secara rekursif mencetak seluruh data pada subpohon kiri
2. Secara rekursif mencetak seluruh data pada subpohon kanan
3. Cetak data pada root

PreOrder, PostOrder, InOrder
Pre-order :
        - Node, left, right
        - Ekspresi Prefix : ++a*bc*+*defg
Post-order :
        - Node, left, right
        - Ekspresi Postfix : abc*+de*f+g*+
In-order :
        - Node, left, right
        - Ekspresi Infix : a+b*c+d*e+f*g


Komentar

Postingan populer dari blog ini

Array, Pointer, Tipe Data Structure, dan Abstract Data Type (ADT) - Pertemuan 1

Array, Pointer, Tipe Data Structure, dan Abstract Data Type (ADT )               Array adalah kumpulan elemen data yang serupa(homogen), homogen itu sendiri seperti char, int, float dan sebagai nya. Array haruslah homogen yang berarti hanya boleh 1 tipe data yang sama contoh nya char, didalam array char itu tidak boleh di gabung dengan float/int/yang lain nya. Array di mulai dari indeks ke-0, dimensi array yang dapat di buat di java yaitu maksimal 255 dimensi, beda hal nya dengan di c/c++ ,dimensi array yang dapat dibuat tergantung dari RAM masing-masing, sebagai contoh RAM 8gb dapat membuat maksimal 30 dimensi, dan 19 dimensi array untuk bermacam-macam tipe data, contoh char a[][][] int b[][][] float c[][][]. Ada beberapa operasi didalam array, yaitu : -Traversal, -Insertion, -Searching, -Deletion, -Merging, -Sorting. berapa banyak makimal variable dari multi dimensional array? - variable yang sama, dan mampu menyimpan banyak data yang te...

Pertemuan 5 - Introduction Tree, Binary Tree & Expression Tree (2)

Introduction to Tree, Binary Tree And Expression Tree  KONSEP TREE Tree adalah kumpulan dari satu atau beberapa node.   Dari contoh gambar di atas, dapat disimpulkan : • Degree dari C =3 • Heigth =4 • Parent dari B = A • Children dari C = F, G, dan H • Sibling dari D = C dan B • Ancestor dari G = C dan A • Descendant dari D = I dan J Penjelasan : • Node (simpul) yang paling atas disebut root (akar). • Garis yang menghubungkan parent (orang tua) ke child (anak) adalah edge. • Node yang tidak memiliki chlid disebut leaf (daun). • Node yang memiliki parent yang sama disebut sibling (saudara). • Degree (derajad) dari sebuah node adalah total sub tree dari node tersebut. • Height / depth (tinggi) adalah derajad maksimum dari node dalam tree tersebut. • Jika ada garis yang menghubungkan p ke q, maka p disebutancestor (nenek moyang) dari q, dan q adalah descendant(keturunan) dari p.   Beberapa jenis tree : 1. Unar...