Disadur dari Materi Kuliah: Annisa, Dept. Ilmu Komputer FMIPA IPB

Slides:



Advertisements
Presentasi serupa
Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2009
Advertisements

STRUKTUR DATA (10) tree manipulation
Wibisono Sukmo Wardhono, ST, MT anyquestion?
JULIAN ADINATA PAUL JHONATAN UKEU PUTRI ROMLI MAULANA
Binary Trees adalah parent
Artificial Intelligent
Matematika Diskrit Suryadi MT Tree.
Pertemuan 8 STRUKTUR POHON (TREE).
BAB 9 TREE Tujuan Instruksional Umum:
PERTEMUAN 14 POHON (TREE).
STRUKTUR DATA TREE (POHON)
By : Fitroh Amaluddin & Galih Wasis W.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Implementasi Binary Tree
Algoritma dan Struktur Data
Algoritma & Struktur Data Oleh : Nur Hayatin, S.ST
Algoritma dan Struktur Data
Ruang Keadaan (state space)
1 Pertemuan Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Pertemuan 13 Graph + Tree jual [Valdo] Lunatik Chubby Stylus.
Algoritma dan Struktur Data
Tree. Tree (Pohon) Dalam dunia nyata, sebuah pohon memiliki : akar, cabang, daun. Dalam dunia komputer, pohon (tree) memiliki 3 (tiga) bagian tersebut.
Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1
Red-Black Trees.
Organisasi Berkas Sekuensial Berindeks
1 Pertemuan 17 Heaps Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
1 Pertemuan 12 B-Tree Matakuliah: T0534/Struktur Data Tahun: 2005 Versi: September 2005.
File Indeks Majemuk Struktur File Indeks Majemuk
Struktur Data Tree Eka Rahayu S. (2 Agustus 2011).
POHON / TREE.
Menggambar Tree wijanarto.
Defri Kurniawan POHON DAN POHON BINER Defri Kurniawan
TREE STRUCTURE (Struktur Pohon)
Struktur Data Binary Search Tree (BST)
STRUKTUR POHON ( BINER )
P O H O N ( T R E E ) Fitri Utaminingrum
Pohon dan Pohon Biner Anifuddin Azis.
PohonBiner Rachmansyah, S.Kom..
Diagram Pohon (Tree Diagram)
POHON.
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
STRUKTUR DATA Tree (Struktur Pohon).
Tree (POHON).
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
NAMA : SITI HAJAR NIM : UNIT : B NO.HP :0852 –
STRUKTUR DATA 2014 M. Bayu Wibisono.
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
POHON (TREE) Pertemuan 6.
Tree.
Teknik Informatika - Universitas Muhammadiyah Malang (UMM)
Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1
TREE (POHON).
P O H O N ( T R E E ) Fitri Utaminingrum
P O H O N ( T R E E ) Fitri Utaminingrum
Parts of a Tree.
Algoritma dan Struktur Data
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
Tree (Pohon).
POHON Pohon (Tree) merupakan graph terhubung tidak berarah dan tidak mengandung circuit. Contoh: (Bukan) (Bukan) (Bukan)
BINARY SEARCH TREE (BST)
Binary Search Tree (BST)
Tree.
AVL - Tree Defenisi : avl Tree adalah Binary Search Tree yang mempunyai ketentuan bahwa “Maksimum perbedaan height antara subtree kiri dan subtree kanan.
Pohon Biner.
Binary Search Tree (BST)
TREE Oleh : Neny silvia Nurhidayah Afny wilujeng Setyorini
5 11/18/2018.
Binary Search Tree (BST)
Transcript presentasi:

Disadur dari Materi Kuliah: Annisa, Dept. Ilmu Komputer FMIPA IPB 2,3 tree dan a,b tree Disadur dari Materi Kuliah: Annisa, Dept. Ilmu Komputer FMIPA IPB

Balanced Tree = AVL Tree? AVL Tree menjamin tree selalu berada dalam keadaan (minimal) complete binary tree atau almost balanced tujuan utama perfect binary tree Good performance in searches, insertion, deletion AVL-tree tetap saja masih punya perbedaan level. Rearranged method to keep balanced tree  high cost

maintaining perfect balanced tree without rearranged like AVL-tree. mengizinkan jumlah key yang dapat ditampung oleh sebuah node bervariasi. 2, 3 Tree main idea

Each node in 2,3 tree is permitted to contain either one or two search key and to have either two or three descendants Semua leaves adalah subtree kosong dan berada tepat satu level dibawahnya. 2,3 tree

2,3 Tree Rule of placement Degree 2 (node berderajat 2) key subtree kiri < keyroot <keysubtree kanan A < B < C Degree 3 (node berderajat 3) key subtree kiri < key root1 < key subtree tengah < key root2 < key subtree kanan A < B < C < D < E B A C B D A C E

2,3 tree example H J N D A E F I K L O P

2,3 Tree Insertion Insert pada node dengan 1 elemen, langsung masuk Insert pada node dengan 2 elemen, urutkan search key, dan key yang di tengah naik menjadi parent. B A C A B C A A B

Example Masukkan ke dalam sebuah 2,3 tree masukan berikut: 10, 20, 4, 8, 15, 30, 1, 2, 9, 6

10, 20, 4, 8, 15, 30, 1, 2, 9, 6 10 4 20 8 10 4 20 10 10 20 4 1 30 8 15 20 10 10 4 30 8 15 20 10 4 20 8 15 4 1 30 8 15 20 10 2 9 10 4 8 6 9 1 2 20 15 30 4 1 30 8 15 20 10 2

Example Masukkan 16 Masukkan 31 Masukkan 7 10 4 8 20 1 2 6 7 9 15 16 30 31 Example

2,3 tree deletion Jika pada leaf dengan 2 elemen langsung hapus Jika pada leaf dengan 1 elemen lihat sibling Jika sibling ada dua elemen: Jika sibling berderajat hanya 1 elemen: X1 X3 X2 D X3 X2 X1 X1 X2 D X2 X1

Example Delete 7, 16 Delete 6 Delete 20 10 4 8 20 1 2 6 9 15 30 31 10

Delete 30 4 10 1 2 8 9 15 31 Example

B-trees dan (A,b)-trees

2,3 tree is an a,b tree Generalization of 2, 3 tree Menjamin tree menjadi pendek Menjamin tree berada dalam keadaan perfect balanced tree 2,3 tree is an a,b tree

Rule of a,b tree Setiap leaf berada pada level yang sama Root memiliki paling sedikit 1 key dan paling banyak m-1 key (memiliki 2 sampai m subtree) M adalah branching factor dari a,b tree (m=3 untuk 2,3 tree) Semua node kecuali root mempunyai paling banyak m-1 search key (m anak), atau sedikitnya m/2-1 search key (m/2 anak. Rule of a,b tree

Jumlah key pada masing-masing node adalah satu lebih kecil daripada jumlah anak yang tidak kosong. Jika jumlah anak minimum m/2 , maka jumlah key untuk setiap node adalah key ≥ m/2 - 1 dan minimum sebanyak key = m/2 - 1. Jika m =5, maka jumlah anak minimum adalah 5/2, maka jumlah key minimum adalah sama dengan 5/2 - 1. Root mempunyai paling banyak m children, tapi diperbolehkan sedikitnya mempunyai 2 children atau 0 children jika tree terdiri dari dari root saja.

Terminologi Key Masukan pada node-node, baik root maupun children dan leaf. Branching factor Faktor percabangan node Tree Kurus Jika banyaknya cabang dari suatu node m/2 Tree Gemuk Jika banyaknya cabang dari suatu node m

Definisi 2,3 tree adalah juga a,b tree dengan ordo atau m=3 a,b tree merupakan generalisasi dari tree, terutama 2,3 tree B D A C E 2,3 tree adalah juga a,b tree dengan ordo atau m=3 Semua leaf berada pada level yang sama Semua node internal kecuali root mempunyai paling banyak m anak, atau sedikitnya m/2 anak. Misal : Jika m = 3, maka jumlah anak paling banyak adalah 3, dan paling sedikit adalah 3/2

Jumlah key pada masing-masing node adalah satu lebih kecil daripada jumlah anak yang tidak kosong. Jika jumlah anak minimum m/2 , maka jumlah key untuk setiap node adalah key ≥ m/2 - 1 dan minimum sebanyak key = m/2 - 1. Jika m =5, maka jumlah anak minimum adalah 5/2, maka jumlah key minimum adalah sama dengan 5/2 - 1. Root mempunyai paling banyak m children, tapi diperbolehkan sedikitnya mempunyai 2 children atau 0 children jika tree terdiri dari dari root saja.

Contoh (A,b)-tree dengan Order 5 Yang key-nya adalah 26 huruf dalam abjad

Proses pada A,b Tree Inserting atau penyisipan Key baru tersebut ditambahkan pada “leaf node” yang sesuai. Jika node sebelumnya tidak penuh , maka proses penyisipan dapat diselesaikan. Jika setelah ditambahkan nodenya menjadi penuh (key ≥ m), maka node tersebut pecah menjadi dua node pada level yang sama , kemudian median key disisipkan pada parent node. Jika parent menjadi penuh juga, ulangi langkah diatas untuk parent.

Misalkan untuk a,b tree m=3 10 Insert 40 10 30 Insert 21 4 8 20 40 4 8 20 30 21 10 30 Insert 22 10 30 4 8 20 21 40 20 22 40 4 8

#Contoh inserting pada B- Tree ordo 5#

Deletion atau penghapusan Langkah-langkahnya,sbb: Jika entri yang akan dihapus tidak berada pada sebuah leaf, maka cari successor atau predecessornya untuk menggantikan tempat (seperti dalam BST). Jika berisi key sebanyak ≥ m/2 - 1, maka satu di antaranya dapat dihapus secara langsung. Jika berisi kurang dari jumlah minimum entri (jumlah key < m/2 - 1) maka pinjam dari sibling kiri atau sibling kanan, yang mempunyai key > m/2 - 1. Jika kedua sibling hanya memiliki jumlah key minimum, maka ambil sebuah key dari parent, kemudian gabungkan dengan salah satu sibling menjadi node baru. Jika parent jadi kekurangan key, ulangi langkah diatas.

100 30 50 200 300 1 31 51 52 101 201 301 302 delete 51 100 30 50 200 300 1 31 52 101 201 301 302

delete 201 100 30 50 200 301 1 31 52 101 300 302 delete 31 100 30 200 301 1 50 52 101 300 302

#Contoh penghapusan B-tree order 5#

Rumus-rumus pada a,b tree Jika T adalah sebuah B-tree dengan order m (dimana setiap node internalnya penuh dan mempunyai m anak) berisi n key dan p node, maka p = n/(m-1) ………………(1) dengan m-1 adalah isi dari setiap node yang ada di T. Pada umumnya ada satu node (root) pada level 0 dan m node pada level 1, m2 node pada level 2, …, mk node pada level k, sehingga total jumlah node (p) pada tree merupaka penjumlahan dari deret geometri p = 1+ m+m2+…+mk atau p = (mk+1 – 1)/(m-1) ……..(2) Hasil gabungan antara persamaan (1) dan (2) adalah sebagai berikut: k = mlog (n+1) – 1 di mana k = tinggi tree (nomor level dari leaf terbawah) m = banyaknya cabang node (branching factor) n = banyaknya node

#Contoh Kasus# Diketahui : m1 = 100 n1 = 1000000 m2 = 10 n2 = 1000000 Ditanya : tinggin tree dan bandingkan keduanya Jawab: k = mlog (n+1)-1 k1 = 100log (1000000+1)-1 = 3-1 = 2 k2 = 10log (1000000+1) -1 = 6-1 = 5 Kesimpulan: Sebuah B-tree dengan order 100 dapat menyimpan 1000000 record pada 3 level (0,1,dan 2). Hal ini hanya perlu mengakses 3 node untuk menemukan key yang dicari. Sedangkan pada B-tree dengan order 10 dapat menyimpan 1000000 record pada 6 level dengan mengakses sebanyak 6 node yang berbeda untuk menemukan sebuah key.