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