Metode Untuk Menyimpan Pohon Biner


Pohon biner dapat dikonstruksi dari bahasa pemrograman primitif dengan beberapa cara. Pada suatu bahasa dengan record dan referensi, pohon biner secara tipikal dikonstruksi dengan sebuah struktur pohon node yang terdiri dari beberapa data dan referensi pada node anak sisi kiri dan node anak sisi kanan. Kadang-kadang juga terdiri atas sebuah referensi pada parent-nya yang unik. Jika suatu node mempunyai lebih dari dua anak, beberapa pointer dari anak mungkin diset ke suatu nilai null khusus, atau ke node sentinel khusus.
            Pohon biner juga dapat disimpan dengan array, dan jika pohon merupakan suatu pohon biner lengkap, metode ini tidak memborosokan ruang penyimpanan. Dengan pengaturan kompak tersebut, jika suatu node yang mempunyai indeks i, anak-anaknya dapat ditemukan pada indeks (2i + 1) ke sisi kiri  dan (2i + 2) ke sisi kanan, sementara parent-nya ditemukan pada indeks floor ((i-1)/2) dengan asumsi akar mempunyai indeks nol. Metode ini menguntungkan sebab lebih kompak dari segi penyimpanan dan referensi lokasi yang lebih baik, terutama selama pemindahan pada urutan awal. Bagaimanapun juga, ini memerlukan memori yang saling berdampingan, sulit bertambah, dan menghabiskan ruang proporsional sebesar 2h - n untuk sebuah pohon dengan height (h) dan node (n).
            Array disusun atau ditempatkan secara level order traversal seperti terlihat pada Gambar 2.10 berikut ini.
Gambar 2.10  Penyimpanan Pohon Biner Dengan Array
Jadi untuk menentukan Parent dari node 3 maka dapat dicara dengan persamaan:
Parent (i) = Floor ( (i -1) / 2)
Parent (1) = Floor ((1 -1) / 2) =  0
Parent (3) = Floor ( (3 - 1) / 2 ) = 1

Popular posts from this blog

Cara Mengukur Trimpot

Cara Mengatasi E31 Canon MP258

Bagian-bagian Laptop Assus