TREE
contoh Binary Search Tree pada c++ -
sebuah binary search tree (bst) adalah sebuah pohon biner yang boleh kosong,
dan setiap nodenya harus memiliki identifier/value. value pada semua node
subpohon sebelah kiri adalah selalu lebih kecil dari value dari root, sedangkan
value subpohon di sebelah kanan adalah sama atau lebih besar dari value pada
root, masing – masing subpohon tersebut (kiri&kanan) itu sendiri adalah
juga bst.sebuah bst, pada dasarnya adalah sebuah pohon biner (binary tree),
oleh karena itu, kita dapat melakukan traversal pada setiap node dengan metode
inorder, preorder maupun postorder. dan jika kita melakukan traversal dengan
metode inorder, pada dasarnya kita telah melakukan traversal valuenya secara
terurut dari kecil ke besar, jadilah ini sebagai sorting algoritma.
struktur data bst sangat penting dalam
struktur pencarian, misalkan, dalam kasus pencarian dalam sebuah list, jika
list sudah dalam keadaan terurut maka proses pencarian akan sangat cepat, jika
kita menggunanan list contigue dan melakukan pencarian biner. akan tetapi, jika
kita ingin melakukan perubahan isi list (insert atau delete), menggunakan list
contigue akan sangat lambat, karena proses insert dan delete dalam list
contigue butuh memindahkan banyak elemen setiap saat. mungkin kita bisa juga
menggunakan linked-list, yang untuk operasi insert atau delete tinggal mengatur
– atur pointer, akan tetapi pada n-linked list, kita tidak bisa melakukan
pointer sembarangan setiap saat, kecuali hanya satu kali dengan kata lain hanya
secara sequential. Sebaliknay binary tree memberikan jawaban sempurna atas
semua permasalahan ini, dengan memanfaatkan binary tree kita dapat melakukan
pencarian elemen/node value dalam kompleksitas algorimta (big O) O(n log n)
langkah saja.
Contoh Binary Tree :
SHANDYJOHAN
Traversal (Penelusuran) Pohon
Ada tiga algoritma, yaitu: Pre Order, In Order dan Post Order
Pre Order:
1. Proses akar
2. Telusur Anak kiri dalam Pre Order
3. Telusur Anak kanan dalam Pre Order
In Order:
1. Telusur Anak kiri dalam In Order
2. Proses
3. Telusur Anak kanan dalam In Order
Post Order
1. Telusur Anak kiri dalam Post Order
2. Telusur Anak kanan dalam Post Order
3. Proses
0 komentar:
Posting Komentar