Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Tree
2
Binary Tree Tree yang punya anak tak lebih dari 2, yaitu kiri atau kanan
3
Binary Search Tree Yaitu binary tree yang data anak kiri < data root < data anak kanan
4
Representasi Array
5
Representasi Linked List
6
Insert data ke BST Algoritma
Telusuri tree, cari tempat yang cocok untuk data yang mau dimasukkan Ketika sampai di tempat yang cocok, data yang mau dimasukkan dibandingkan dengan parent, kalau lebih kecil maka taruh di sisi kiri, kalau lebih besar taruh di sisi kanan
7
Insert data ke BST Taruh dimana? 55
8
Insert data ke BST Taruh dimana? 20 55
9
Insert data ke BST 55 20
10
Traversal / Kunjungan Traversal : Mengunjungi setiap node pada tree
Ada tiga cara mengunjungi node-node pada suatu tree : Preorder : root, kiri, kanan Inorder : kiri, root, kanan Postorder : kiri, kanan, root
11
Preorder : root, kiri, kanan
B D C E F G A B D C E F G H A B D E C F G A B D G H C E F
12
Buat program untuk menelusuri tree secara preorder dan postorder
Inorder : kiri, root, kanan void inorder(struct tnode *p) { if(p != NULL) inorder(p->lchild); printf("%d\t",p->data); inorder(p->rchild); } A B D C E F G H B G D H A E C F Buat program untuk menelusuri tree secara preorder dan postorder
13
Buat program untuk menelusuri tree secara preorder dan postorder
14
Postorder : kiri, kanan, root
B D C E F G H G H D B E F C A
15
Traversal Z,A,Q,P,Y,X,C,B = Preorder root, kiri, kanan
Q,A,Z,Y,P,C,X,B = Inorder kiri, root, kanan Z,A,P,X,B,C,Y,Q = postorder kiri, kanan, root
16
70 60 85 40 65 20 Inorder : kiri root kanan 20 40 60 65 70 85
void inorder(struct tnode *p) { if(p != NULL) inorder(p->lchild); printf("%d\t",p->data); inorder(p->rchild); } 70 60 85 40 65 20 Inorder : kiri root kanan
17
70 60 85 40 65 20 Preorder : root, kiri, kanan 70 60 40 20 65 85
void preorder(struct tnode *p) { if(p != NULL) printf("%d\t",p->data); preorder(p->lchild); preorder(p->rchild); } 70 60 85 40 65 20 Preorder : root, kiri, kanan
18
70 60 85 40 65 20 Postorder : kiri, kanan, root 20 40 65 60 85 70
void postorder(struct node *p) { if(p != NULL) { postorder(p->lchild); postorder(p->rchild); printf("%d\t",p->data); } 70 60 85 40 65 20 Postorder : kiri, kanan, root
19
Menghitung node pada tree
int count(struct tnode *p) { if( p == NULL) return(0); else if( p->lchild == NULL && p->rchild == NULL) return(1); else return(1 + (count(p->lchild) + count(p->rchild))); } 70 60 85 40 65 20
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.