Skip to main content

AVL Tree



AVL Tree adalah lanjutan dari Binary Search Tree. Dengan AVL Tree, Binary Search Tree yang tingginya berat sebelah akan dibuat menjadi rata dengan mengubah posisi dari node yang membuat tree tidak seimbang. Pengubahan posisi tersebut dilakukan dengan cara rotating, dimana node yang menjadi akar masalah dalam tree tersebut akan dipindahkan menjadi node yang berada diatas nya dan node yang berada pada atasnya akan berubah tempat mengikuti dengan aturan Binary Search Tree.
Rotating terbagi menjadi dua, yaitu Single Rotate dan Double Rotate.

Seperti namanya, Single Rotation merupakan Rotasi yang dilakukan sekali saja. Rotasi ini hanya dilakukan sekali saja, dengan menemukan node yang membuat tree tersebut tidak seimbang, lalu menggantikan node tersebut dengan node yang berada di bawahnya serta memindah node itu sendiri untuk menyeimbangkan tree tersebut.






Node 30 menempati node 25 dan node 25 menjadi leaf kiri node 30 untuk menyeimbangkan tree.

Double Rotation juga seperti namanya, merupakan rotasi yang dilakukan dua kali karena terjadinya percabangan dalam menyeimbangkan tree, seperti berikut ini.






Node 70 mengalami double rotation menempati posisi node 50, dan node yang di insert, 65, yang seharusnya menjadi leaf kiri dari 70 menjadi leaf kanan 50, dan node 50 menjadi leaf kiri node 70.

Sumber :

Comments

Popular posts from this blog

Rangkuman 2

Nama: Christopher Wibisono NIM: 2301913822 Nama Dosen: CB01 (Kelas Besar) : Henry Chong(D4460) & Ferdinand Ariandy Luwinda (D4522) LM01 (Kelas Kecil) : Alexander (D5319) Pada blog kali ini, kita akan mereview apa saja yang sudah dipelajari selama akhir semester 2 ini. AVL Tree  adalah lanjutan dari  Binary Search Tree . Dengan  AVL Tree ,  Binary Search Tree  yang tingginya berat sebelah akan dibuat menjadi rata dengan mengubah posisi dari  node  yang membuat  tree  tidak seimbang. Pengubahan posisi tersebut dilakukan dengan cara  rotating , dimana  node  yang menjadi akar masalah dalam  tree  tersebut akan dipindahkan menjadi node yang berada diatas nya dan node yang berada pada atasnya akan berubah tempat mengikuti dengan aturan  Binary Search Tree . Rotating  terbagi menjadi dua, yaitu  Single Rotate  dan  Double Rotate . Seperti namanya,  Single Rotation  ...

Linked List

Pada materi kali ini, kita membahas tentang Linked List dalam bahasa pemrograman C. Untuk kali ini kita akan fokus terhadap beberapa jenis Linked List yang lebih dalam termasuk : 1.         Circular Singly Linked List 2.       Doubly Linked List 3.       Circular Doubly Linked List Linked List sendiri adalah struktur data yang menyimpan sebuah data serta sebuah referensi untuk menunjukkan data selanjutnya dalam urutan tertentu. Circular Single Linked List Dalam Circular Single Linked List, untuk mengakses bagian mana pun, kita perlu melewati data pertama yang ada dalam urutan. Jika dalam pengecekan kita berada dalam tengah urutan, maka tidak mungkin kita dapat mengakses data yang berada sebelum bagian di mana kita berada. Nilai NULL dalam Circular Single Linked List tidak disimpan dalam urutan data. Berikut ini gambar untuk memasukkan nilai awal dalam Circular Single Linked List , Sama halnya sep...