Heap Heap adalah struktur data berbasis pohon khusus di mana pohon itu adalah pohon biner lengkap. Secara umum, Heap terdiri dari dua jenis, yaitu: Max-Heap : Dalam Max-Heap node root harus paling besar di antara node yang ada di semua children-nya. Properti yang sama harus benar secara rekursif untuk semua subtree di Tree tersebut. Min-Heap : Dalam Min-Heap node root harus paling kecil di antara node yang ada di semua children-nya. Properti yang sama harus benar secara rekursif untuk semua subtree di Tree tersebut. Insert Untuk melakukan I nsert , kita harus melakukan operasi up-heap. Tambahkan elemen pada level bawah Heap , Bandingkan elemen yang baru dengan parentnya. Jika berada di urutan yang benar, pembandingan berhenti. Jika tidak, swap elemen dengan parent dan kembalikan ke langkah sebelumnya. Delete Untuk melalkukan delete, kita harus melakukan operai down-heap. Ganti root Heap dengan elemen terakhir pada level terakhir. Bandingkan root baru dengan children-nya. J...
AVL Tree AVL Tree ditemukan oleh Adelson-Velskii dan Landis. AVL Tree merupakan salah satu jenis BST (binary Search Tree). BST digunakan dengan tujuan untuk mempercepat pencarian data. Apabila BST yg terbentuk cukup seimbang (mendekati complete binary tree) maka waktu pencarian data tidak lebih dari log2n langkah. AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi level maksimal 1 antara subtree kiri dan subtree kanan. AVL Tree muncul untuk menyeimbangkan Binary Search Tree. Dengan AVL Tree , waktu pencarian dan bentuk tree dapat dipersingkat dan disederhanakan. Insertion Untuk menjaga tree tetap imbang, setelah penyisipan sebuah node, dilakukan pemeriksaan dari node baru → root. Node pertama yang memiliki |balance factor| > 1 diseimbangkan. Proses penyeimbangan dilakukan dengan: Single Rotation dan Double Rotation . Single Rotation Single rotation dilakukan bila kondisi AVL Tree waktu akan ditambahkan node baru dan posisi node baru...