BAB 5 TREE (Pohon) 179
Stack Queue Tree Graph Peng-alokasi-an memory struktur Satu dimensi linear Array (statis) Queue Dua dimensi Graph Tree Stack Queue non linear Linear Linked- List Graph (dinamis) Non Linear Tree Graph
A C B D E F I H G N M J K L Contoh sebuah TREE 5.1. Tree, M-ary Tree dan Binary Tree Gambar-5.1 Contoh sebuah TREE 179
A C B D E F I H G N M J K L a. Tree dan Graph Tree Gambar-5.1 a. Tree dan Graph T = G Tree merupakan bagian dari Graph. 179
A C B D E F I H G N M J K L v1 v2 v3 e0 v0 e1 v13 e12 e2 T = ( V,E) Gambar-5.1 v1 v2 v3 e0 v0 e1 v13 e12 e2 b. Simpul (Vertex, Node), dan Busur (Edge, Arc) T = ( V,E) V = { v0, v1, v2, . . . . . . , v13 } E = { e0, e1, e2, . . . . . , e12 } 179
A C B D E F I H G N M J K L c. Superordinat dan Subordinat, Gambar-5.1 c. Superordinat dan Subordinat, Father dan Son Untuk contoh pohon diatas : Simpul B merupakan superordinat simpul E dan F. Simpul E dan F mempunyai superordinat yang sama yaitu simpul B. Simpul B mempunyai 2 subordinat yaitu simpul E dan simpul F 179
A C B D E F I H G N M J K L d. Akar (Root) dan Daun (Leaf/Leaves) Gambar-5.1 d. Akar (Root) dan Daun (Leaf/Leaves) Akar = Simpul yang tak mempunya superordinat. Daun = simpul yang tak mempunyai subordinat Dari pohon diatas : Akar = Simpul : A. Daun = Simpul : C, E, G, I, J, K, L, M, N 179
A C B D E F I H G N M J K L e. Level dan Depth Tingkat dan Kedalaman Root Gambar-5.1 e. Level dan Depth Tingkat dan Kedalaman 1 2 3 Depth = 3 Akar berada di Level : 0 Subordinat Level i adalah Level : i+1 179
A C B D E F I H G N M J K L f. Degree (Derajat) Simpul Gambar-5.1 f. Degree (Derajat) Simpul dan Degree Pohon Degree Simpul A = 3 B = 2 C = 0 Simpul daun, degree = 0 Degree Pohon : Untuk pohon ini degree pohon dapat diduga = 3, Tapi masih mungkin 4, 5 dan seterusnya Yang pasti bukan = 2 179
Pohon M-Ary dan Pohon Binary 179
Pohon M-Ary M = 1 2 3 4 5 dan setreusnya M menyatakan derajat pohon Khusus untuk M=2, Disebut Binary Tree (Pohon Biner) 179
Contoh sebuah TREE dengan derajat = 3 (3-Ary Tree) D J I F E B K H G C Gambar-5.2 a Gambar-5.2 b 179
Sebuah simpul pohon M-ary dimana M=3 digambarkan dengan Linked-List Strukturnya dapat dibuat dengan : Link1 Link2 Link3 INFO typedef struct Node { int INFO; struct Node *Link1; struct Node *Link2; struct Node *Link3; }; typedef struct Node Simpul; Gambar-5.3 179
Pohon Binary 179
Pohon Biner digambarkan dalam bentuk Linked-List Sebuah simpul Pohon Biner digambarkan dalam bentuk Linked-List Strukturnya dapat dibuat dengan : LEFT RIGHT INFO typedef struct Node { struct Node *LEFT; int INFO; struct Node *RIGHT; }; typedef struct Node Simpul; Gambar-5.4 atau typedef struct Node { int INFO; struct Node *LEFT; struct Node *RIGHT; }; typedef struct Node Simpul;
typedef struct Node Simpul; Simpul *First, *Last, *P, *Q, *Root; struct Node *LEFT; int INFO; struct Node *RIGHT; }; typedef struct Node Simpul; Simpul *First, *Last, *P, *Q, *Root; 25 P Root // membuat Simpul Akar P = (Simpul * …………………); P->INFO = X; //misal X = 25 Root = P; P->Left = NULL; P->Right = NULL;
A B E D G A C F H I A B C E D F H I G 182 Contoh sebuah Pohon Biner Gambar-5.5 b Gambar-5.5 a Gambar-5.5 c 182
h. Link, Null-Link dan Bukan Null-Link Contoh Soal. Soal-1. Sebuah pohon M-ary dengan 10 buah simpul Bila M = 3 , maka Ditanya berapa jumlah Null-Link: A C B D E F H G J I 1 3 5 6 9 11 14 16 19 21 Gambar 5.6 a 179
E F G H J A B C D 1 2 3 5 7 9 4 11 13 15 17 19 21 Gambar-5.6 b Pohon 3-ary Skewed Right (Skewed to the right) 179
Jumlah Null-Link = n * (M-1) + 1 = 10 * (3-1) + 1 = 10 * 2 + 1 = 21 C B D E F H G J I 1 3 5 6 9 11 14 16 19 21 E F G H J A B C D 1 2 3 5 7 9 4 11 13 15 17 19 21 Jawab : Pohon dengan M = 3 Jumlah simpul 10, jadi : n = 10 Jumlah Null-Link = n * (M-1) + 1 = 10 * (3-1) + 1 = 10 * 2 + 1 = 21 179
Soal-2. Sebuah Pohon Biner dengan 10 buah simpul Ditanya berapa jumlah Null-Link: A B C D E F G H I J 2 3 4 5 6 7 8 9 10 11 1 A B C E D F H I G 2 3 4 1 7 8 9 10 11 5 6
Soal-2. Sebuah Pohon Biner dengan 10 buah simpul Ditanya berapa jumlah Null-Link: A B C E D F H I G 2 3 4 1 7 8 9 10 11 5 6 Jawab : Pohon Biner, berarti M = 2 Jumlah simpul 10, jadi : n = 10 Jumlah Null-Link = n * ( M - 1 ) + 1 = 10 * ( 2 - 1 ) + 1 = 10 * 1 + 1 = 11
5.2 Konversi Pohon M-ary ke Pohon Biner Soal : Konversikan pohon M-Ary berikut ini menjadi Pohon Biner A C B D E F I H G N M J K L Level 1 2 3 Depth = 3
A C B D E F I H G N M J K L N A B C D E F J K L G H I M Level Level A C B D E F I H G N M J K L N A B C D E F J K L G H I M 1 2 1 2 3 3 C G K D E F J L N M I H B A 4 5 6 Gambar-5.10 c Pohon Biner hasil konversi dari pohon M-ary Gambar-5.10 a Bentuk Transformasi belum membentuk Pohon Biner 186