๐ดPraktikum 1
Implementasi Binary Search Tree menggunakan Linked List
Deskripsi
Pada percobaan ini akan diimplementasikan Binary Search Tree dengan operasi dasar, dengan menggunakan array (praktikum 2) dan linked list (praktikum 1). Sebelumnya, akan dibuat class Node, dan Class BinaryTree. Perhatikan class diagram berikut,


Langkah Percobaan
Buatlah class
Node,BinaryTreedanBinaryTreeMain.Di dalam class
Node, tambahkan atributdata,leftdanright, serta konstruktor default dan berparameter.
Di dalam class
BinaryTree, tambahkan atributroot.
Tambahkan konstruktor default dan method
isEmpty()di dalam classBinaryTree.
Tambahkan method
add()di dalam classBinaryTree. Di bawah ini proses penambahan node tidak dilakukan secara rekursif, agar lebih mudah dilihat alur proses penambahan node dalam tree. Jika dilakukan dengan proses rekursif, penulisan kode akan lebih efisien.
Tambahkan method
find().
Tambahkan method
traversePreOrder(),traverseInOrder()dantraversePostOrder(). Method traverse digunakan untuk mengunjungi dan menampilkan node-node dalam tree, baik dalam mode pre-order, in-order maupun post-order.
Tambahkan method
getSuccessor(). Method ini akan digunakan ketika proses penghapusan node yang memiliki 2 child.
Tambahkan method
delete(). Di dalam method delete tambahkan pengecekan apakah tree kosong, dan jika tidak cari posisi node yang akan di hapus. Kemudian tambahkan proses penghapusan terhadap node current yang telah ditemukan.
Buka class
BinaryTreeMaindan tambahkan methodmain().
Compile dan jalankan class
BinaryTreeMainuntuk mendapatkan simulasi jalannya program tree yang telah dibuat.Amati hasil running tersebut.
Pertanyaan
Mengapa dalam binary search tree proses pencarian data bisa lebih efektif dilakukan dibanding binary tree biasa?
Apa fungsi atribut
leftdanrightpada classNode?Simak pertanyaan berikut,
Apa kegunaan dari atribut
rootdi dalam class BinaryTree?Ketika objek tree pertama kali dibuat, apa nilai dari
root?
Ketika tree masih kosong, dan akan ditambahkan sebuah node baru, proses apa yang akan terjadi?
Perhatikan method
add(), di dalamnya terdapat baris program seperti di bawah ini. Jelaskan secara detil untuk apa baris program tersebut?
Last updated