Aa Tree 1
Aa Tree 1
OLEH:
NATALIA PUTRI DWI AGUSTINA (130312615409)
YUNI ROSITA DEWI (130312615437)
DEFINISI
Tingkatan AA Tree
Tingkat setiap simpul daun adalah salah satu.
Tingkat setiap anak kiri tepat satu kurang dari induknya.
Tingkat setiap anak kanan adalah sama dengan atau satu lebih rendah
dari induknya.
Tingkat setiap cucu kanan selalu kurang dari kakek-nya.
Setiap simpul dari tingkat yang lebih besar dari satu memiliki dua anak.
ISTILAH
Link Horisontal
Sebuah link di mana tingkat anak adalah sama dengan yang dari induknya
disebut link horisontal, dan analog dengan link merah di pohon merah-
hitam. Individu link horisontal benar diperbolehkan, tapi yang berturut-
turut dilarang; semua link horisontal kiri dilarang. Ini adalah kendala lebih
ketat daripada yang analog di pohon merah-hitam, dengan hasil yang
kembali menyeimbangkan pohon AA adalah prosedural jauh lebih
sederhana daripada kembali menyeimbangkan pohon merah-hitam.
Skew Operasi
Jika node yang disisipkan berada disebelah kiri orang tuanya, maka node
tersebut memiliki level/tingkatan yang sama dengan orang tuanya, ini
merupakan suatu kesalahan. Untuk memperbaiki link horizontal kiri maka
digunakan prosedur skew
Split Operation
Jika grandparent berada pada level atau tingkat yang sama, maka ada 2
link horisontal secara berturut-turut, hal ini merupakan suatu kesalahan.
Keadaan ini diperbaiki dengan prosedur yang disebut split.
1. Pada Split Operation memindahkan dua link horisontal kanan.
2. Node yang tengah naik level.
PENYISIPAN
Langkah-langkah
1. Inputkan node yang ingin dicari
2. Lakukan pemelusuran pencarian mulai dari root (level 3)
3. Seleksi keterangan ketemu (false atau true)
4. Jika yang dicari ketemu maka pencarian selesai (ketemu = true). Jika tidak
lanjutkan ke langkah 4 (ketemu=false).
5. Seleksi kedudukan node yang dicari. Jika lebih kecil maka penelusuran
dilanjutkan ke node anak kiri. Jika lebih besar maka penelusuran dilakukan
ke node anak kanan.
6. Ulangi langkah 3 hingga ketemu=true
Contoh
Iterasi 1
Seleksi keterangan ketemu (false atau true)
Ketemu = false
Node > Root (8 > 4) menuju anak kanan (10)
Iterasi 2
Seleksi keterangan ketemu (false atau true)
Ketemu = false
Node < Root (8 < 10) menuju anak kiri(6)
Iterasi 3
Seleksi keterangan ketemu (false atau true)
Ketemu = false
Node > Root (8 > 6) menuju anak kanan (8)
Iterasi 4
Seleksi keterangan ketemu (false atau true)
Ketemu = true
PENGHAPUSAN
Seperti pada pohon pencarian biner, hal yang perlu diperhatikan dalam
penghapusan adalah level/tingkatan dari node yang dihapus. Setelah
dilakukan penghapusan cek bentuk tree. Jika bentuk tree bukan AA Tree
maka lakukan operasi skew atau split hingga terbentuk AA Tree yang baru
dari penghapusan.
http://ycpcs.github.io/cs350-fall2015/
http://mypages.valdosta.edu/dgibson/courses/cs3410/notes/ch19_6.pdf
Satyananda, Darmawan. 2015. Panduan Praktikum Struktur Data.
Malang: tidak Diterbitkan