Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan 16 B-Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 16 B-Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1."— Transcript presentasi:

1 1 Pertemuan 16 B-Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1

2 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat merumuskan program modular untuk mengimplementasikan ADT B-tree

3 3 Outline Materi pengertian dan kegunaan B-Tree Contoh B-Tree Operasi - operasi B-Tree implementasi program B-Tree

4 4 B-Tree Balanced Multiway Search Tree Data sangat banyak biasa disimpan di disk eksternal. Waktu akses disk lebih panjang. Perlu tree dengan height terbatas, dan node yang berisi beberapa data/key. Sekali akses node, membaca beberapa key sekaligus. Balanced Multiway Tree: 1.tidak ada subtree kosong di atas leaf 2.seluruh leaf berada dalam satu level (rata) 3.tiap node mempunyai beberapa anak, kecuali leaf

5 5 Kriteria B-Tree dengan orde m: 1.Tiap node mempunyai subtree/child maksimal m, dengan notasi n, A o, (K 1, A 1 ), (K 2, A 2 ), …, (K n, A n ) B-Tree: Balanced Multiway Search Tree A1A1 A0A0 A2A2 AnAn K 1 K 2 … K n N < m A i : child I K i < Key di node A i < K i+1 Kriteria ini berlaku untuk semua node di sembarang level

6 6 B-Tree: Balanced Multiway Search Tree 2.Tiap node mempunyai child minimal m/2, kecuali ROOT minimal 2 3.Tiap node berisi key maksimal m-1 4.Tiap node berisi key minimal m/2, kecuali ROOT boleh kurang dari m/2 atau 0(empty) 5.B-Tree dengan level tertinggi l, jumlah node dalam tree maksimal m l -1

7 7 B-tree: Contoh orde m=5 20 Root sebagai leaf Ascending order Jumlah key maksimal dalam satu node m Jumlah key minimal dalam satu node m/2 20 Jumlah child maksimal m

8 8 B-Tree: Insert Tree tumbuh ke atas Algoritma Insert (newkey) 1.Search leaf p yang sesuai untuk newkey 2.Cek jumlah node di p a)If p not full (n< m-1), newkey langsung masuk, selesai b)If (n=m-1), SPLIT p menjadi 2, yaitu Node p: m/2-1, A o, (K 1,A 1 ), …, (K m/2-1, A m/2-1 ) Node q: m-m/2, A m/2, (K m/2+1,A m/2+1 ), …, (K m, A m ) (lihat notasi di slide 3) Dan key K m/2 masuk ke node parent p dan q. Cek apakah n

9 9 Contoh Insert order 5 (1) Insert (a) a Insert (b) a b Insert (f) a b f Insert (g) a b f g FULL ! n=m-1 Insert (k) a bg k f split Insert (d) a b dg k f a b dg h k m f Insert (h) Insert (m)

10 10 Contoh Insert order 5 (2) +j a b dg h f j k ma b dg h k m f +e, +s, +i, +r a b d eg h i f j k m r s

11 11 Contoh Insert order 5 (3) a b d eg h i f j k m r s +x a b d eg h i f j r k ms x +c, +l, +n, +t, +u d eg h i c f j r k l m ns t u xa b

12 12 d eg h i c f j r k l m ns t u xa b +p d eg h i c f k ls t u xa bn p m r j Contoh Insert order 5 (4)

13 13 B-Tree: Delete (1) Algoritma: 1. Search key x yang akan di-delete If x berada pada node bukan leaf, maka x akan diganti oleh salah satu key pada leaf descendant, key terkecil atau terbesar (ikut aturan binary tree), menjadi problem delete key di leaf 2. Cek target leaf p a) If p merupakan ROOT, If n>1, langsung delete x If n=1, tree menjadi empty

14 14 b)If p bukan root If n(p)>m/2: langsung delete If n(p)=m/2: cek jumlah key di node sibling terdekat kiri atau kanan (node q)  If jumlah key q diatas minimum n(q)>m/2: rotasi key (yang melibatkan 3 node: q, parent dan p)  Hasil rotasi, jumlah key di q menjadi n(q)-1, jumlah key di p setelah dilete menjadi m/2  If jumlah key q minimum n(q)=m/2: p dan q gabung (melibatkan satu key di parent)  Hasil gabung setelah delete, jumlah node n(p)=m-1 Cek jumlah key di node parent (ulang langkah b). Rotasi atau penggabungan dapat ‘menjalar’ ke node-node ancestor pada path menuju Root. B-Tree: Delete (2)

15 15 Contoh Delete (1) -h, -r d eg h i c f k ls t u xa bn p m r j m s g i t u x n>m/2 Digantikan key dari leaf

16 16 Contoh Delete (2) d eg i c f k lt u xa bn p m s j Jumlah key = m/2 : rotasi -p u x n s m t

17 17 Contoh Delete (3) Jumlah key = m/2, tetapi jumlah key di sibling terdekat juga minimum (m/2): gabung d eg i c f k lu xa bn s m t j -d a b c e f j m t a b c eg ik lu xn s f j m t


Download ppt "1 Pertemuan 16 B-Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1."

Presentasi serupa


Iklan oleh Google