Anda di halaman 1dari 16

AA TREE

OLEH:
NATALIA PUTRI DWI AGUSTINA (130312615409)
YUNI ROSITA DEWI (130312615437)
DEFINISI

Pohon AA dalam ilmu komputer adalah bentuk pohon seimbang yang


digunakan untuk menyimpan dan mengambil data secara efisien.
Pohon AA berasal dari nama penemunya, yaitu Arne Andersson.
CIRI - CIRI

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

Kasus skew Kasus split


PENCARIAN

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

Inputkan 8 (node yang akan dicari)


Root = 4

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.

Keadaan awal Node 1 yang dihapus


Node 2 turun level Node 4 dan node 10 menjadi level 2
karena memiliki 2 anak
Node 6 dikenai operasi skew karena Node 8 dikenai operasi split (anak
terjadi pelanggaran (anak kiri kiri seharusnya satu level dibawah
seharusnya satu level dibawah parent)
parent)
Node 6 dikenai operasi split (anak Node 10 dikenai operasi split
kiri seharusnya satu level dibawah (anak kiri seharusnya satu level
parent) dibawah parent)
RANCANGAN STRUKTUR DATA
DAFTAR RUJUKAN

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

Anda mungkin juga menyukai