HEAP heap merupakan algoritma yang konsepnya hampir sama dengan Tree yaitu memilki satu buah root yang akan becabang menampung node node lain yang memliki datanya masing - masing. Heap memilki dua struktur, yaitu : - Max Heap merupakan heap yang rootnya mempunyai value terbesar dan menampung node node yang memilki nilai value yang lebih kecil. - Min Heap merupakan heap yang rootnya mempunyai value terkecil dan menampung node node yang lebih besar dari value si root. Pengimplementasian heap digunakan pada Heap Sort (Heapify) : - Descending membentuk max heap dari data yang diinput dan kemudian mereplace elemen terakhir dengan elamen terbesar di heap, heapify treenya dan kemudian ulangi prosesnya sampai arraynya tersorted - Ascending membentuk min heap dari data yang diinput dan kemudian mereplace elemen terakhir dengan elamen terkecil di heap, heapify treenya dan kemudian ulangi prosesnya sampai arraynya tersorted Tries merupakan
AVL TREE AVL Tree merupakan bentuk sempurna / stabil dari struktur data BST dimana jumlah child di sebelah kiri dan kanan node selisihnya tidak lebih besar sama dengan 2 Contoh AVL Pada gambar diatas dapat diihat bahwa tidak ada node yang jumlah left child dan right child yang selisihnya lebih besar dari satu sehingga struktur data ditas disebut AVL Berikut merupakan contoh Skewed BST / BST yang dimana weight sebelah kiri dan kanannya tidak seimbang Operasi yang dapat dilakukan di AVL sama dengan yang dapat dilakukan di BST : - Insert - Update - Delete Perbedaanya terletak pada setelah operasi tersebut sudah selesai dilakukan dimana akan melakukan pengecekan apakah bst nya balanced atau tidak Ada 4 kondisi yang mempengaruhi : - Single Left Rotation (LL Rotation) Pada kondisi ini, setiap node berpindah posisi ke kiri dari posisi awal - Single Right Rotation (RR Rotation) Pada kondisi ini, setiap node berpindah posisi ke kanan dari posisi aw