14
2/6/2016 Ner i n Sul i sti ani : STRUKTUR DA TA ( PERTEMUAN 1 1 ) http://nerintyan.blogspot.co.i d/2015/02/struktur - data-per temuan-11.html 1/14 TREE GENERAL TREE TREE 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 vertexvertex : V 1, V2, V3, ......., Vn harus mempunyai : Satu roo t A > Root(A) = V1 Sisan ya (V2, V3, ......, Vn) dip artisi men jadi T m subtree ; d i mana : 0  m n1  CONTOH : TREE A  KETERANGAN : Root (A) = B Leaf (A) = A, C, D, G, H B mempunyai 4 Subtre e : A, C, I, D I m empunyai 2 Subtree : E, F E mempunyai 1 Subtree : G F mempunyai 1 Subtree : H LEVEL dari suatu vertex A dalam Tr ee A adalah LENGTH Path (P) (Root(A), A) Dari gambar Tree A; Tentukan level A: L ength (P) (Root(A), A)  

Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

  • Upload
    nakayu

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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) 

Page 2: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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.

Page 3: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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 :

Page 4: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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

Page 5: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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 :

Page 6: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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

Page 7: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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 :

Page 8: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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

Page 9: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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 +

Page 10: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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)

Page 11: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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

Page 12: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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

Page 13: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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

Page 14: Nerin Sulistiani_ Struktur Data ( Pertemuan 11 )

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 )