Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Rangga Juniansyah.  Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to.

Presentasi serupa


Presentasi berjudul: "Rangga Juniansyah.  Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to."— Transcript presentasi:

1 Rangga Juniansyah

2  Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen.  Tree bisa didefinisikan sebagai kumpulan simpul/node dengan elemen khusus yang disebut Root.

3  Binary Tree (Pohon Biner) yaitu pohon yang setiap simpul/node-nya paling banyak mempunyai dua buah subpohon.  Contoh implementasi : untuk membuat pohon silsilah keluarga, ungkapan aritmatika yang setiap operatornya dipasang sebagai simpul pencabangan dan operand-operandnya sebagai subpohon, dll.  Binary tree dapat diimplementasikan dalam C++ dengan menggunakan double linkedlist.

4  Ada 3 urutan dasar yang dapat digunakan untuk mengunjungi pohon, yaitu :  PreOrder : cetak isi node yang dikunjungi, kunjungi Left Child, kunjungi Right Child.  InOrder : kunjungi Left Child, cetak isi node yang dikunjungi, kunjungi Right Child.  PostOrder : kunjungi Left Child, kunjungi Right Child cetak isi node yang dikunjungi.

5  Simpul yang berisi informasi yang nilainya lebih besar dari simpul atas (root) akan ditempatkan sebagai cabang kanan, jika lebih kecil dari simpul atas akan ditempatkan sebagai cabang kiri.

6 * - + a/ c b d* e f Ungkapan Aritmatika Hasil : 1.PreOrder : *+a/bc-d*ef 2.InOrder : a+b/c*d-e*f 3.PostOrder : abc/+def*-*

7 Dari hasil di atas dapat disimpulkan bahwa :  Kunjungan secara PreOrder akan menghasilkan notasi Prefix  Kunjungan secara InOrder akan menghasilkan notasi Infix  Kunjungan secara PostOrder akan menghasilkan notasi Postfix

8 #include #define nil NULL struct nod { struct nod *left; char data; struct nod *right; }; typedef struct nod NOD; typedef NOD POKOK;

9 NOD *NodBaru(char item) { NOD *n; n=(NOD *)malloc(sizeof(NOD)); if(n != NULL) { n->data=item; n->left=NULL; n->right=NULL; } return n; } void BinaPokok(POKOK **T) { *T=NULL; }

10 bool PokokKosong(POKOK *T) { return ((bool)(T==NULL)); } void TambahNod(NOD **p, char item) { NOD *n; n=NodBaru(item); *p=n; } void preOrder(POKOK *T) { if(!PokokKosong(T)) { cout data; preOrder(T->left); preOrder(T->right); }

11 void inOrder(POKOK *T) { if(!PokokKosong(T)) { inOrder(T->left); cout data; inOrder(T->right); } void postOrder(POKOK *T) { if(!PokokKosong(T)) { postOrder(T->left); postOrder(T->right); cout data; }

12 //Program utama int main() { POKOK *kelapa; char buah; BinaPokok(&kelapa); TambahNod(&kelapa, buah='M'); TambahNod(&kelapa->left, buah='E'); TambahNod(&kelapa->left->right, buah='I'); TambahNod(&kelapa->right, buah='L'); TambahNod(&kelapa->right->right, buah='O'); TambahNod(&kelapa->right->right->left, buah='D'); cout<<"Tampilan secara PreOrder : "; preOrder(kelapa);

13 cout<

14 M L E I O D

15 M L E I O D B A U


Download ppt "Rangga Juniansyah.  Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to."

Presentasi serupa


Iklan oleh Google