Posts

Showing posts from April, 2020

AVL Tree

Image
Pada Binary Search Tree (BST) bisa terjadi kasus dimana treenya berbentuk skewed karena berdasarkan inputan user. Contohnya bisa dilihat pada gambar di bawah ini. Input : 9 1 6 3 4 BST memiliki aturan dimana setiap inputan yang lebih besar dari root selalu ke kanan dan yang lebih kecil selalu ke kiri. Berdasarkan inputan user di atas, tree tersebut menjadi tidak seimbang. Oleh sebab itu, kita perlu menggunakan AVL Tree.  AVL Tree adalah balanced binary search tree dimana memiliki perbedaan tinggi antara subtree kiri dan kanan 0 atau 1. Tujuan dari AVL Tree ini adalah untuk menjadikan BST seimbang sehingga proses pencarian menjadi lebih mudah. AVL Tree ditemukan oleh Adelson-Veleskii dan E.M. Landis. Height: 1. Jika subtree kosong maka height bernilai 0 2. Jika node adalah leaf maka height bernilai 1 3. Jika merupakan internal node, maka heightnya bernilai height maksimum anaknya ditambah 1 Balance Factor: perbedaan tinggi/height antara subtree kiri dan su...

Summary & Review 1

Image
Hi!! Pada blog kali ini, kita akan mereview materi-materi yang  sudah dipelajari sebelumnya.  1. Linked List Linked List merupakan koleksi linear dari data, yang disebut sebagai nodes, dimana setiap node akan menunjuk pada node lain melalui sebuah pointer . Linked List dapat didefinisikan pula sebagai kumpulan nodes yang merepresentasikan sebuah sequence.  Single/ Singly Linked List Single Linked List adalah sekumpulan dari node yang saling terhubung dengan node lain melalui sebuah pointer.  Circular Singly Linked List Circular Single Linked List adalah suatu linked list dimana tail menuju ke head dan hanya memiliki satu arah, serta tidak memiliki nilai NULL.  Double/ Doubly Linked List Double Linked List adalah elemen-elemen yang dihubungkan dengan dua pointer dalam satu elemen dan list dapat melintas baik di depan (head) atau belakang (tail). Circular Doubly Linked List Circular Doubly Linked List adalah linked list dengan ...