Skip to main content
TREE

AVL Tree
AVL tree adalah Binary Search Tree (BST) yang dapat menyeimbangkan diri sendiri di mana perbedaan antara ketinggian subtree kiri dan kanan tidak boleh lebih dari satu untuk semua node.
Pohon di atas adalah AVL karena perbedaan antara ketinggian sub pohon kiri dan kanan untuk setiap node kurang dari atau sama dengan 1.

Untuk memastikan bahwa pohon yang diberikan tetap AVL setelah setiap penyisipan, kita harus menambah operasi penyisipan BST standar untuk melakukan penyeimbangan ulang.

Waktu yang diperlukan untuk melakukan insertion, deletion, search, atau operasi lainnya bergantung pada ketinggian pohon, ini berarti mereka dapat menjadi O (n) dalam kondisi terburuk.

Balance factor:
Perbedaan ketinggian subtree KIRI dan subtree KANAN.

Single Rotation
Single rotation dilakukan bila kondisi AVL tree waktu akan ditambahkan node baru dan posisi node baru seperti pada gambar tersebut. T1, T2, dan T3 adalah subtree yang urutannya harus seperti demikian serta height- nya harus sama (≥ 0).




Double rotation dilakukan bila kondisi AVL tree waktu akan ditambahkan node baru dan posisi node baru seperti pada tersebut. T1, T2, T3, dan T4 adalah subtree yang urutannya harus seperti demikian. Tinggi subtree T1 harus sama dengan T4, tinggi subtree T2 harus sama dengan T3. Node yang ditambahkan akan menjadi child dari subtree T2 atau T3. 

















Comments

Popular posts from this blog

Data Structure Linked List (II) Circular Linked List  Circular Linked List adalah  Linked List  di mana semua node terhubung untuk membentuk lingkaran.  Tidak ada NULL di bagian akhir.  Circular Linked List  dapat berupa  Circular  Single Linked List atau  Circular  Doubly Linked List. Circular Doubly Linked List  Circular Doubly Linked List   adalah jenis yang lebih kompleks dari Linked List yang berisi pointer ke node berikutnya serta sebelumnya dalam urutan. Sama seperti dengan Circular Single Linked List, tetapi total pointer pada setiap node adalah 2 pointer. Doubly Linked List  Doubly Linked List  adalah elemen-elemen yang dihubungkan dengan dua pointer dalam satu elemen dan list dapat melintas baik di depan (head) atau belakang (tail). Doubly Linked List berisi pointer tambahan, biasanya disebut pointer sebelumnya, bersama dengan pointer berikutnya dan data yang ada di Single Linked List. Elemen-Elemen Dalam Doubly Linked List    -  Data - Pointer Next