THREE


THREE

A.    PENGERTIAN THREE

Three adalah Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layakya struktur sebuah pohon.
Struktur pohon adalah suatu cara merepresentasikan suatu struktur hirarki (one-to-many) secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan node-node dari atas ke bawah.
Suatu struktur data yang tidak linier yang menggambarkan hubungan yang
hirarkis (one-to-many) dan tidak linier antara elemen-elemennya.

         Tree Statik : isi node-nodenya tetap karena bentuk pohonnya sudah ditentukan.
         Tree Dinamik : isi nodenya berubah-ubah karena proses penambahan (insert) dan penghapusan (delete)

         Node root dalam sebuah tree adalah suatu node yang memiliki hiarki tertinggi dan dapat juga memiliki node-node anak.  Semua node dapat ditelusuri dari node root tersebut.
         Node root adalah node khusus yang tercipta pertama kalinya.
         Node-node lain di bawah node root saling terhubung satu sama lain dan disebut subtree

         Contoh penggunaan struktur pohon :
         Silsilah keluarga
         Parse Tree (pada compiler)
         Struktur File
         Pertandingan
















         Tree dapat dibuat dengan menggunakan linked list secara rekursif.
         Linked list yang digunakan adalah double linked list non circular
         Data yang pertama kali masuk akan menjadi node root.
         Data yang lebih kecil dari data node root akan masuk dan menempati node kiri dari node root, sedangkan jika lebih besar dari data node root, akan masuk dan menempati node di sebelah kanan node root.


         Create: membentuk sebuah tree baru yang kosong.
         pohon = NULL;
         Clear: menghapus semua elemen tree.
         pohon = NULL;
         Empty: mengetahui apakah tree kosong atau tidak
         int isEmpty(Tree *pohon){
         if(pohon == NULL) return 1;
         else return 0;
         }
Operasi-operasi Tree
         Insert: menambah node ke dalam Tree secara rekursif.  Jika data yang akan dimasukkan lebih besar daripada elemen root, maka akan diletakkan di node sebelah kanan, sebaliknya jika lebih kecil maka akan diletakkan di node sebelah kiri.  Untuk data pertama akan menjadi elemen root.
         Find: mencari node di dalam Tree secara rekursif sampai node tersebut ditemukan dengan menggunakan variable bantuan ketemu.  Syaratnya adalah tree tidak boleh kosong.
         Traverse: yaitu operasi kunjungan terhadap node-node dalam pohon dimana masing-masing node akan dikunjungi sekali.
         Count: menghitung jumlah node dalam Tree
         Height : mengetahui kedalaman sebuah Tree
         Find Min dan Find Max : mencari nilai terkecil dan terbesar pada Tree
         Child : mengetahui anak dari sebuah node (jika punya)

Jenis Transverse

         PreOrder: cetak node yang dikunjungi, kunjungi left, kunjungi right
         InOrder: kunjungi left, cetak node yang dikunjungi, kunjungi right
         PostOrder: kunjungi left, kunjungi right, cetak node yang dikunjungi

0 komentar:

Post a Comment

Copyright © 2014 Dunia Naeta All Right Reserved