Binary Tree

13
BINARY TREE _Kelompok 8_ Marzhelly Djuan Kristanta Filawaty Ardillah Sahi P Yuliani Reskiana Ali Sari

description

homework

Transcript of Binary Tree

Page 1: Binary Tree

BINARY TREE_Kelompok 8_

Marzhelly Djuan Kristanta

Filawaty

Ardillah Sahi P

Yuliani

Reskiana

Ali Sari

Page 2: Binary Tree

Pengertian Binary TreeSebuah tree dengan syarat bahwa tiap

node hanya boleh memiliki maksimal 2

subtree yang disebut sebagai subpohon

kiri(left subtree) dan subpohon kanan

(right subtree) dan kedua subtree

tersebut harus terpisah, atau dengan

kata lain tiap node dalam binary tree

hanya boleh memiliki paling banyak 2

child.

Page 3: Binary Tree

Jenis-jenis Binary Tree

Full Binary Tree

Complete Binary

Tree

Skewed Binary tree

Page 4: Binary Tree

Operasi-operasi Binary Tree Create (pohon = NULL;) Search Clear (pohon = NULL;) Empty Insert, Find (Syaratnya adalah tree tidak boleh kosong.) Traverse Count Height Find Min dan Find Max, Child

Page 5: Binary Tree

UPDATE

B C

D E

A

UPDATE=E

Nill

INSERT F

F

Page 6: Binary Tree

Binary TraversalBinary Tree Traversal

Pre-order Traversal

In-order Traversal

Post-order Traversal

Level-order Traversal

Simpul Induk dikunjugi sebelum

simpul anak dikunjungi

Simpul induk dikunjungi setelah semua simpul anak

kiri dikunjungi & sebelum simpul

anak kanan.

Simpul induk dikunjungi

setelah anak-anaknya

dikunjungi.

Simpul di level I dikunjungi

sebelum simpul i+1 dikunjungi.

Page 7: Binary Tree

B E

C D

A

>> Pre-Order Traversal

B E

A C

D

>> In-Order Traversal

C D

A B

E

>> Post-Order Traversal

B C

D E

A

>> Level-Order Traversal

Page 8: Binary Tree

CLEAR

B C

D E

ANill

Page 9: Binary Tree

Contoh Program Sederhana

program traversal;uses crt;var pilih,i :integer; a :array[1..5] of char;procedure MasukkanData;begin for i:=1 to 5 do begin write('Masukkan Data ke-',i,' : ' );readln(a[i]); end;end;procedure PreOrder;begin gotoxy(56,4);writeln('= ',a[1],' ='); gotoxy(53,10);writeln('= ',a[2],' ='); gotoxy(60,10);writeln('= ',a[5],' ='); gotoxy(49,16);writeln('= ',a[3],' ='); gotoxy(55,16);writeln('= ',a[4],' ='); readln;End;

Page 10: Binary Tree

procedure InOrder;begin gotoxy(56,4);writeln('= ',a[4],' ='); gotoxy(53,10);writeln('= ',a[2],' ='); gotoxy(60,10);writeln('= ',a[5],' ='); gotoxy(49,16);writeln('= ',a[1],' ='); gotoxy(55,16);writeln('= ',a[3],' ='); readln;end;procedure PostOrder;begin gotoxy(56,4);writeln('= ',a[5],' ='); gotoxy(53,10);writeln('= ',a[3],' ='); gotoxy(60,10);writeln('= ',a[4],' ='); gotoxy(49,16);writeln('= ',a[1],' ='); gotoxy(55,16);writeln('= ',a[2],' ='); readln;end;procedure LevelOrder;begin gotoxy(56,4);writeln('= ',a[1],' ='); gotoxy(53,10);writeln('= ',a[2],' ='); gotoxy(60,10);writeln('= ',a[3],' ='); gotoxy(49,16);writeln('= ',a[4],' ='); gotoxy(55,16);writeln('= ',a[5],' ='); readln;end;

Page 11: Binary Tree

procedure Exit;begin pilih:=6;end;begin repeatclrscr;gotoxy(45,1);writeln('Bentuk Binary Tree :');

gotoxy(56,3);writeln(' ===');gotoxy(56,4);writeln('= =');gotoxy(56,5);writeln(' ===');

gotoxy(53,9);writeln(' ===');gotoxy(53,10);writeln('= =');gotoxy(53,11);writeln(' ===');

gotoxy(60,9);writeln(' ===');gotoxy(60,10);writeln('= =');gotoxy(60,11);writeln(' ===');

gotoxy(49,15);writeln(' ===');gotoxy(49,16);writeln('= =');gotoxy(49,17);writeln(' ===');

gotoxy(55,15);writeln(' ===');gotoxy(55,16);writeln('= =');gotoxy(55,17);writeln(' ===');

Page 12: Binary Tree

gotoxy(54,12);writeln('/\');gotoxy(53,13);writeln('/ \');gotoxy(52,14);writeln('/ \');

gotoxy(58,6);writeln('/\');gotoxy(57,7);writeln('/ \');gotoxy(56,8);writeln('/ \'); writeln('1.Masukkan Data'); writeln('2.Pre-Order Traversal'); writeln('3.In-Order Traversal'); writeln('4.Post-Order Traversal'); writeln('5.Level-Order Traversal'); writeln('6.Exit'); write('Masukkan Pilihan : ');readln(pilih); case pilih of 1:MasukkanData; 2:PreOrder; 3:Inorder; 4:PostOrder; 5:LevelOrder; 6:Exit; end; until (pilih=6);readln;end.

Page 13: Binary Tree

THANKS !!