Skip to main content

Posts

Showing posts from May, 2020

Heap & Tries

Heap & Tries Heap heap adalah struktur data yang bisa dibilang sama atau mirip dengan Binary Search Tree (BST), namun bedanya adalah heap merupakan Complete Binary Tree yang memiliki persyaratannya sendiri. Heap dibagi menjadi 3 yaitu : Min Heap   Max Heap Min-Max Heap 1. Min Heap Setiap node dalam Min Heap lebih kecil dari masing-masing child nya dan root merupakan node paling kecil. Insertion :  Insert Node baru Check parent Jika nilai node baru tersebut lebih kecil dibandingkan parent, tukar posisinya dengan parent. Deletion :  Yang dihapus merupakan rootnya (elemen terkecil). Root yang dihapus tersebut kemudian digantikan oleh data terakhir di nodenya, kemudian data tersebut di downheapmin(jika anak < data tsb, maka tukar,dst sampai mentok dibawah atau node tsb<anaknya). 2. Max Heap Setiap node dalam Max Heap lebih besar dari masing-masing child nya dan root merupakan node paling besar Insertion :  I

AVL Tree

AVL Tree AVL Tree yang dinamakan dari pembuatnya yaitu Adelson-Velsky and Landis’ tree, adalah self-balancing binary search tree. Dalam AVL Tree, ketinggian anak anak di setiap simpul berbeda paling banyak 1. Kapan saja jika perbedaan ketinggian menjadi lebih besar dari 1 maka penyeimbangan pohon dilakukan untuk memulihkan propertinya. dalam AVL Tree ada 2 basic operation yaitu Right Rotation and Left Rotation. Cara Rotasi ini berfungsi untuk menyeimbangkan Tree: Biarkan  node A menjadi node baru yang di add ke tree. Setelah node A di add, dari node A ke root untuk menemukan node yang tidak seimbang. apabila ketemu node yang tidak seimbang maka akan diseimbangkan dan terus mengecek apabila masih ada node pada tree yang tidak seimbang. Jka Anda telah menemukan simpul z yang tidak seimbang, Node y adalah anak dari z dan x menjadi cucu dari z maka akan ada empat kemungkinan, yaitu  Case Left - Left: - x adalah left child dari node y dan y adalah left ch