Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Tree. Binary Tree Tree yang punya anak tak lebih dari 2, yaitu kiri atau kanan.

Presentasi serupa


Presentasi berjudul: "Tree. Binary Tree Tree yang punya anak tak lebih dari 2, yaitu kiri atau kanan."— Transcript presentasi:

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 Taruh dimana? 55 Insert data ke BST

8 Taruh dimana? Insert data ke BST

9 55 Insert data ke BST 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 A B D C EFG A B D C EF G H Preorder : root, kiri, kanan FGBDECA ABDGHCEF

12 A B D C EF G H Inorder : kiri, root, kanan BGDHAECF void inorder(struct tnode *p) { if(p != NULL) { inorder(p->lchild); printf("%d\t",p->data); inorder(p->rchild); } Buat program untuk menelusuri tree secara preorder dan postorder

13

14 Postorder : kiri, kanan, root A B D C EF G H GHDBEFCA

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 Inorder : kiri root kanan void inorder(struct tnode *p) { if(p != NULL) { inorder(p->lchild); printf("%d\t",p->data); inorder(p->rchild); }

17 Preorder : root, kiri, kanan void preorder(struct tnode *p) { if(p != NULL) { printf("%d\t",p->data); preorder(p->lchild); preorder(p->rchild); }

18 Postorder : kiri, kanan, root void postorder(struct node *p) { if(p != NULL) { postorder(p->lchild); postorder(p->rchild); printf("%d\t",p->data); }

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))); }


Download ppt "Tree. Binary Tree Tree yang punya anak tak lebih dari 2, yaitu kiri atau kanan."

Presentasi serupa


Iklan oleh Google