Upload
nakayu
View
220
Download
0
Embed Size (px)
Citation preview
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 1/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 1/14
TREE
GENERAL TREETREE adalah suatu graph yang acyclic, simple, connected yang tidak mengandung loop.ROOT Tree A ; suatu vertex dengan derajat masuk = 0. LEAF Tree A; suatu vertex dengan derajat keluar = 0.Tree A atas vertex‐vertex : V1, V2, V3, ......., Vn harus mempunyai :
Satu root A ‐> Root(A) = V1
Sisanya (V2, V3, ..... ., Vn) dipartisi menjadi Tm subtree ; di mana : 0 ≤ m ≤ n‐1
CONTOH : TREE A
KETERANGAN :
Root (A) = BLeaf (A) = A, C, D, G, HB mempunyai 4 Subtree : A, C, I, DI mempunyai 2 Subtree : E, FE mempunyai 1 Subtree : GF mempunyai 1 Subtree : H
LEVEL dari suatu vertex A dalam Tree A adalah LENGTH Path (P) (Root(A), A)Dari gambar Tree A;
Tentukan level A:
‐ Length (P) (Root(A), A)
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 2/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 2/14
‐ Length P(B,A) = (B,A) = 1
Tentukan level G:
‐ Length (P) (Root(A), G)‐ Length P(B,G) = (B,I) (I,E) (E,G) = 3
HIGH dari suatu Tree A adalah level tertinggi ditambah 1.WEIGHT dari suatu Tree A adalah jumlah leaf dalam Tree A.
CONTOH dari Tree A ;
High Tree A = 3+1 = 4Weight Tree A = 5 (A, C, D, G, H)
FORESTFOREST merupakan koleksi dari tree‐tree
BINARY TREEBinary Tree merupakan himpunan vertex‐vertex yang terdiri dari 2 subtree (dengan disjoint) yaitusubtree kiri dan subtree kanan. Setiap vertex dalam binary tree mempunyai derajat keluar max = 2.
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 3/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 3/14
SIMILAR dalam 2 BINARY TREEDua Binary Tree dikatakan Similar, jika struktur dari kedua Binary Tree sama.
EKIVALEN dalam 2 BINARY TREEDua Binary Tree dikatakan Ekivalen, jika :
‐ Similar.‐ Informasi setiap vertex sama.
CONTOH :
COMPLETEMisalnya haeight dari binary tree T adalah K.Binary Tree T disebut COMPLETE jika jumlah vertex dari binary tree T adalah :
Contoh height dari binary tree T = 4. Gambar binary tree‐nya:
ALMOST COMPLETEMisalnya height dari binary Tree T adalah K.Binary Tree T disebut ALMOST COMPLETE jika :
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 4/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 4/14
Pada level 0 hingga level ke‐2 jumlah vertexnya adalah :
pada level k‐1 vertex‐vertexnya terisi dari kiri ke kanan sebagai u, dimana 1 <= u <= 2 k‐1Contoh height dari binary tree T = 4. dan mis u = 5.Gambar binary tree‐nya :4‐2∑ 2 i = (20 + 21 + 22) = 7i = 0
HEIGHT MIN dan HEIGHT MAXDiperoleh dengan rumus sbb :
Hmin = log 2 (N+1) | Hmax =N
Keterangan :
‐ | = fungsi celling dengan pembulatan ke atas.‐ N = jumlah vertex
Contoh :Diberi 7 buah contoh vertex untuk membentuk suatu binary tree.Hitung H min dan H max dari kemungkinan binary tree yang terbentuk. gambar binary tree‐nya.Jawab : Hmin = log 2 (7+1) | Hmax = N = 7
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 5/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 5/14
REPRESENTASI BINARY TREEContoh :
Algoritma untuk merubah General Tree menjadi Binary Tree
Insert edge‐edge yang menghubungkan sibling (saudara) kemudian delete semua edge yang palingkiri.Rotasi 45 derajat sedemikan sehingga dibedakan subtree kiri dan kanan.
Contoh :
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 6/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 6/14
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 7/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 7/14
Algoritma untuk merubah Forest menjadi Binary Tree:
Insert edge‐edge yang menghubungkan sibling (saudara) kemudian delete semua edge yangmenghubungkan parent dengan child‐nya kecuali edge yang paling kiri.Tree‐tree yang lain dihitung sebagai satu level.
Contoh :
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 8/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 8/14
BINARY TREE TRANSVERSAL
Adalah proses menelusuri suatu Binary Tree sehingga demikian rupa setiap vertex dikunjungi hanya 1kali.3 aktivitas dalam Binary Tree Transversal :
Visit the RootTransverse the left subtreeTransverse the right subtree
Algoritma dalam Binary Tree TransversalPRE‐ORDER TRANSVERSAL
Visit the Root
Transverse the left subtreeTransverse the right subtree
IN‐ORDER TRANSVERSAL
Transverse the left subtreeVisit the RootTransverse the right subtree
POST‐ORDER TRANSVERSAL
Transverse the left subtreeTransverse the right subtreeVisit the root
CONTOH:PRE‐ORDER : V L R ‐ + + * A B C D
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 9/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 9/14
IN‐ORDER : L V R ‐ A * B + C + D
POST‐ORDER : L R V‐ A B * C + D +
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 10/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 10/14
BINARY SEARCH TREESuatu Binary Search Tree dari himpunan N record (N1, N2, N3 . . . . . Nn) adalah suatu Binary Tree yangsetiap vertexnya (sebut Ri) ditempati oleh Ni untuk i = 1,2,3 . . . N.Vertex‐vertex dari Binary Tree tersebut diatur sedemikian rupa sehingga untuk setiap Ri harusmemenuhi syarat sbb :
‐ Jika Rj = left (Ri) maka Nj < Ni‐ Jika Rj = right (Ri) maka Nj > Ni
CONTOH :
Diketahui key dari 7 record (K, L, M, N, P, O, Q)Binary Search Tree dari 7 key di atas dapat dibentuk :
Operasi‐operasi pada Binary Search Tree
Direct SearchSequential SearchInsert Search
Delete Search
DIRECT SEARHUntuk mencari vertex k di dalam binary search tree dengan root = Ri, algoritmanya adalah sbb:
Jika tree kosong maka search tidak sukses (k tidak ada dalam binary search tree)Jika k = Ni maka search sukses (k ada dalam binary searh tree)
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 11/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 11/14
Jika k < Ni maka subtree kiri dan Ri ditelusuri dan Ri = left. (Ri) kemudian kembali ke langkah 1.Jika k > Ni maka subtree kanan dan Ri ditelusuri dan Ri = right. (Ri) kemudian kembali ke langkah1.
CONTOH :Carilah M dalam Binary Tree berikut secara Direct Search.Berapa langkah atau perbandingan untuk mencari key M.Bandingkan dengan rootnya, jika :
Lebih besar maka cari ke kananLebih kecil maka cari ke kiri
SEQUENTIAL SEARCHUntuk mencari vertex K dalam Binary Tree dengan root =Ri.Algoritmanya menggunakan langkah‐langkah :IN‐ORDER TRANSVERSAL (Left Visit Right)
CONTOHCari key M dalam Binary Tree berikut secar Sequential:
INSERT SEARCHPrinsipnya sama dengan DIRECT.4 langkah :
K > A
F > A
D > A
A = A
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 12/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 12/14
DELETE SEARCHDilihat dari link‐listnyaBALANCED TREE
Suatu Binary Tree dimana untuk setiap Root Ri berlaku struktur subtree kiri = struktur subtree kanan.CONTOH:
HEIGHT BALANCED TREE
Suatu Tree dimana untuk setiap Root Ri berlaku height dari subtree kanan dan height dari subtree kiribeda paling banyak satu .CONTOH : Height Balanced Tree Bukan
Sama 1 Sama 2
Height balanced Tree belum tentu Balanced Tree tapi Balanced Tree sudah pasti Height Balanced TreeBinary yang Complete = Balance Tree
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 13/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )
http://nerintyan.blogspot.co.id/2015/02/struktur-data-pertemuan-11.html 13/14
Balance Tree belum tentu Binary Tree Complete :
Height Balance Tree belum tentu Binary Tree Complete :
Height Balance Tree belum tentu Almost Complete :
balance + almost
Balance Tree = Almost Complete
almost + balance almost + balance TREE 1 TREE 2 TREE 3
1. Tentukan ROOT masing‐masing tree?2. Tentukan LEAF masing‐masing tree?3. Rubahlah masing‐masing general tree tersebut menjadi binary tree.4. Tentukan HEIGHT dan WIGHT dari masing‐masing tree?
5. Dari ketiga tree tersebut Bentuklah dalam 1 binary tree?6. Dari hasil konversi tree 2 ke dalam binary tree carilah :‐ Pre‐Order Transversal‐ In‐Order Transversal‐ Post‐Order Transversal
8/16/2019 Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )
http://slidepdf.com/reader/full/nerin-sulistiani-struktur-data-pertemuan-11- 14/14
2/6/2016 Nerin Sulistiani: STRUKTUR DATA ( PERTEMUAN 11 )