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

Single Linked List, Polynomial Representation, Circular Single Linked List, Doubly Linked List, Circular Doubly Linked List List, Header Linked List - Pertemuan 2

  Linked List , sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian, Linked list juga merupakan suatu cara untuk menyimpan data dengan struktur sehingga dapat secara otomatis menciptakan suatu tempat baru untuk menyimpan data yang diperlukan. Struktur ini lebih dinamis karena banyaknya elemen dengan mudah ditambah atau dikurangi, berbeda dengan array yang ukurannya tetap. - Linked list is a liniear collection of data elements. These data elements are called Nodes - Linked list is a data structure which in turn can be used to implement other data structures - It acts as a building blocks to implement data structures such as stacks, queues and other data structure   Single Linked List , ini mempunyai satu pointer untuk setiap node yang menunjukan ke node berikutnya, artinya hanya punya satu arah. - A singly linked list is the simplest type of  linked list in which every node contains som...

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...